@cloudscape-design/components-themeable 3.0.1091 → 3.0.1093

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 (152) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/internal/components/option/styles.scss +0 -4
  3. package/lib/internal/scss/internal/components/selectable-item/styles.scss +2 -1
  4. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
  5. package/lib/internal/scss/navigable-group/styles.scss +8 -0
  6. package/lib/internal/scss/navigable-group/test-classes/styles.scss +8 -0
  7. package/lib/internal/scss/select/parts/styles.scss +7 -0
  8. package/lib/internal/template/autosuggest/plain-list.js +1 -1
  9. package/lib/internal/template/autosuggest/plain-list.js.map +1 -1
  10. package/lib/internal/template/autosuggest/virtual-list.js +1 -1
  11. package/lib/internal/template/autosuggest/virtual-list.js.map +1 -1
  12. package/lib/internal/template/badge/index.d.ts.map +1 -1
  13. package/lib/internal/template/badge/index.js +1 -1
  14. package/lib/internal/template/badge/index.js.map +1 -1
  15. package/lib/internal/template/box/interfaces.d.ts +15 -0
  16. package/lib/internal/template/box/interfaces.d.ts.map +1 -1
  17. package/lib/internal/template/box/interfaces.js.map +1 -1
  18. package/lib/internal/template/box/internal.d.ts +1 -1
  19. package/lib/internal/template/box/internal.d.ts.map +1 -1
  20. package/lib/internal/template/box/internal.js +3 -5
  21. package/lib/internal/template/box/internal.js.map +1 -1
  22. package/lib/internal/template/button/internal.d.ts.map +1 -1
  23. package/lib/internal/template/button/internal.js +3 -3
  24. package/lib/internal/template/button/internal.js.map +1 -1
  25. package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
  26. package/lib/internal/template/button-dropdown/internal.js +1 -1
  27. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  28. package/lib/internal/template/button-group/internal.d.ts.map +1 -1
  29. package/lib/internal/template/button-group/internal.js +5 -87
  30. package/lib/internal/template/button-group/internal.js.map +1 -1
  31. package/lib/internal/template/checkbox/internal.d.ts.map +1 -1
  32. package/lib/internal/template/checkbox/internal.js +1 -1
  33. package/lib/internal/template/checkbox/internal.js.map +1 -1
  34. package/lib/internal/template/icon/internal.d.ts.map +1 -1
  35. package/lib/internal/template/icon/internal.js +3 -3
  36. package/lib/internal/template/icon/internal.js.map +1 -1
  37. package/lib/internal/template/index.d.ts +1 -0
  38. package/lib/internal/template/index.d.ts.map +1 -1
  39. package/lib/internal/template/index.js +1 -0
  40. package/lib/internal/template/index.js.map +1 -1
  41. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -3
  42. package/lib/internal/template/internal/components/option/index.d.ts +1 -1
  43. package/lib/internal/template/internal/components/option/index.d.ts.map +1 -1
  44. package/lib/internal/template/internal/components/option/index.js +3 -12
  45. package/lib/internal/template/internal/components/option/index.js.map +1 -1
  46. package/lib/internal/template/internal/components/option/interfaces.d.ts +0 -1
  47. package/lib/internal/template/internal/components/option/interfaces.d.ts.map +1 -1
  48. package/lib/internal/template/internal/components/option/interfaces.js.map +1 -1
  49. package/lib/internal/template/internal/components/option/option-parts.d.ts.map +1 -1
  50. package/lib/internal/template/internal/components/option/option-parts.js +2 -2
  51. package/lib/internal/template/internal/components/option/option-parts.js.map +1 -1
  52. package/lib/internal/template/internal/components/option/styles.css.js +16 -17
  53. package/lib/internal/template/internal/components/option/styles.scoped.css +28 -32
  54. package/lib/internal/template/internal/components/option/styles.selectors.js +16 -17
  55. package/lib/internal/template/internal/components/option/utils/unflatten-options.d.ts +16 -0
  56. package/lib/internal/template/internal/components/option/utils/unflatten-options.d.ts.map +1 -0
  57. package/lib/internal/template/internal/components/option/utils/unflatten-options.js +23 -0
  58. package/lib/internal/template/internal/components/option/utils/unflatten-options.js.map +1 -0
  59. package/lib/internal/template/internal/components/options-list/index.d.ts +2 -1
  60. package/lib/internal/template/internal/components/options-list/index.d.ts.map +1 -1
  61. package/lib/internal/template/internal/components/options-list/index.js +2 -2
  62. package/lib/internal/template/internal/components/options-list/index.js.map +1 -1
  63. package/lib/internal/template/internal/components/selectable-item/index.d.ts.map +1 -1
  64. package/lib/internal/template/internal/components/selectable-item/index.js +23 -20
  65. package/lib/internal/template/internal/components/selectable-item/index.js.map +1 -1
  66. package/lib/internal/template/internal/components/selectable-item/interfaces.d.ts +1 -0
  67. package/lib/internal/template/internal/components/selectable-item/interfaces.d.ts.map +1 -1
  68. package/lib/internal/template/internal/components/selectable-item/interfaces.js.map +1 -1
  69. package/lib/internal/template/internal/components/selectable-item/styles.css.js +22 -21
  70. package/lib/internal/template/internal/components/selectable-item/styles.scoped.css +42 -42
  71. package/lib/internal/template/internal/components/selectable-item/styles.selectors.js +22 -21
  72. package/lib/internal/template/internal/environment.js +2 -2
  73. package/lib/internal/template/internal/environment.json +2 -2
  74. package/lib/internal/template/internal/utils/with-native-attributes.d.ts +1 -0
  75. package/lib/internal/template/internal/utils/with-native-attributes.d.ts.map +1 -1
  76. package/lib/internal/template/internal/utils/with-native-attributes.js +2 -2
  77. package/lib/internal/template/internal/utils/with-native-attributes.js.map +1 -1
  78. package/lib/internal/template/multiselect/use-multiselect.d.ts +2 -1
  79. package/lib/internal/template/multiselect/use-multiselect.d.ts.map +1 -1
  80. package/lib/internal/template/navigable-group/index.d.ts +9 -0
  81. package/lib/internal/template/navigable-group/index.d.ts.map +1 -0
  82. package/lib/internal/template/navigable-group/index.js +23 -0
  83. package/lib/internal/template/navigable-group/index.js.map +1 -0
  84. package/lib/internal/template/navigable-group/interfaces.d.ts +39 -0
  85. package/lib/internal/template/navigable-group/interfaces.d.ts.map +1 -0
  86. package/lib/internal/template/navigable-group/interfaces.js +4 -0
  87. package/lib/internal/template/navigable-group/interfaces.js.map +1 -0
  88. package/lib/internal/template/navigable-group/internal.d.ts +5 -0
  89. package/lib/internal/template/navigable-group/internal.d.ts.map +1 -0
  90. package/lib/internal/template/navigable-group/internal.js +125 -0
  91. package/lib/internal/template/navigable-group/internal.js.map +1 -0
  92. package/lib/internal/template/navigable-group/styles.css.js +6 -0
  93. package/lib/internal/template/navigable-group/styles.scoped.css +7 -0
  94. package/lib/internal/template/navigable-group/styles.selectors.js +7 -0
  95. package/lib/internal/template/navigable-group/test-classes/styles.css.js +6 -0
  96. package/lib/internal/template/navigable-group/test-classes/styles.scoped.css +7 -0
  97. package/lib/internal/template/navigable-group/test-classes/styles.selectors.js +7 -0
  98. package/lib/internal/template/package.json +1 -0
  99. package/lib/internal/template/select/internal.js +1 -1
  100. package/lib/internal/template/select/internal.js.map +1 -1
  101. package/lib/internal/template/select/parts/item.d.ts +1 -0
  102. package/lib/internal/template/select/parts/item.d.ts.map +1 -1
  103. package/lib/internal/template/select/parts/item.js +2 -2
  104. package/lib/internal/template/select/parts/item.js.map +1 -1
  105. package/lib/internal/template/select/parts/multiselect-item.d.ts.map +1 -1
  106. package/lib/internal/template/select/parts/multiselect-item.js +2 -2
  107. package/lib/internal/template/select/parts/multiselect-item.js.map +1 -1
  108. package/lib/internal/template/select/parts/option-group.d.ts +10 -0
  109. package/lib/internal/template/select/parts/option-group.d.ts.map +1 -0
  110. package/lib/internal/template/select/parts/option-group.js +9 -0
  111. package/lib/internal/template/select/parts/option-group.js.map +1 -0
  112. package/lib/internal/template/select/parts/plain-list.d.ts.map +1 -1
  113. package/lib/internal/template/select/parts/plain-list.js +4 -2
  114. package/lib/internal/template/select/parts/plain-list.js.map +1 -1
  115. package/lib/internal/template/select/parts/styles.css.js +22 -21
  116. package/lib/internal/template/select/parts/styles.scoped.css +26 -22
  117. package/lib/internal/template/select/parts/styles.selectors.js +22 -21
  118. package/lib/internal/template/select/parts/virtual-list.d.ts.map +1 -1
  119. package/lib/internal/template/select/parts/virtual-list.js +5 -3
  120. package/lib/internal/template/select/parts/virtual-list.js.map +1 -1
  121. package/lib/internal/template/select/utils/render-options.d.ts +2 -1
  122. package/lib/internal/template/select/utils/render-options.d.ts.map +1 -1
  123. package/lib/internal/template/select/utils/render-options.js +23 -3
  124. package/lib/internal/template/select/utils/render-options.js.map +1 -1
  125. package/lib/internal/template/select/utils/use-select.d.ts +1 -1
  126. package/lib/internal/template/select/utils/use-select.d.ts.map +1 -1
  127. package/lib/internal/template/select/utils/use-select.js +6 -1
  128. package/lib/internal/template/select/utils/use-select.js.map +1 -1
  129. package/lib/internal/template/space-between/interfaces.d.ts +15 -0
  130. package/lib/internal/template/space-between/interfaces.d.ts.map +1 -1
  131. package/lib/internal/template/space-between/interfaces.js.map +1 -1
  132. package/lib/internal/template/space-between/internal.d.ts.map +1 -1
  133. package/lib/internal/template/space-between/internal.js +3 -2
  134. package/lib/internal/template/space-between/internal.js.map +1 -1
  135. package/lib/internal/template/spinner/internal.d.ts.map +1 -1
  136. package/lib/internal/template/spinner/internal.js +1 -1
  137. package/lib/internal/template/spinner/internal.js.map +1 -1
  138. package/lib/internal/template/test-utils/dom/index.d.ts +20 -0
  139. package/lib/internal/template/test-utils/dom/index.js +12 -1
  140. package/lib/internal/template/test-utils/dom/index.js.map +1 -1
  141. package/lib/internal/template/test-utils/dom/navigable-group/index.d.ts +5 -0
  142. package/lib/internal/template/test-utils/dom/navigable-group/index.js +14 -0
  143. package/lib/internal/template/test-utils/dom/navigable-group/index.js.map +1 -0
  144. package/lib/internal/template/test-utils/selectors/index.d.ts +18 -0
  145. package/lib/internal/template/test-utils/selectors/index.js +12 -1
  146. package/lib/internal/template/test-utils/selectors/index.js.map +1 -1
  147. package/lib/internal/template/test-utils/selectors/navigable-group/index.d.ts +5 -0
  148. package/lib/internal/template/test-utils/selectors/navigable-group/index.js +14 -0
  149. package/lib/internal/template/test-utils/selectors/navigable-group/index.js.map +1 -0
  150. package/lib/internal/template/token-group/internal.js +1 -1
  151. package/lib/internal/template/token-group/internal.js.map +1 -1
  152. package/package.json +1 -1
@@ -15,7 +15,7 @@ function validateStringValue(value, propertyName) {
15
15
  }
16
16
  const Option = (_a) => {
17
17
  var _b, _c, _d, _e;
18
- var { option, highlightText, triggerVariant = false, isGroupOption = false, isGenericGroup = true, highlightedOption = false, selectedOption = false } = _a, restProps = __rest(_a, ["option", "highlightText", "triggerVariant", "isGroupOption", "isGenericGroup", "highlightedOption", "selectedOption"]);
18
+ var { option, highlightText, triggerVariant = false, isGroupOption = false, highlightedOption = false, selectedOption = false } = _a, restProps = __rest(_a, ["option", "highlightText", "triggerVariant", "isGroupOption", "highlightedOption", "selectedOption"]);
19
19
  if (!option) {
20
20
  return null;
21
21
  }
@@ -33,17 +33,8 @@ const Option = (_a) => {
33
33
  });
34
34
  }
35
35
  const className = clsx(styles.option, disabled && styles.disabled, isGroupOption && styles.parent, highlightedOption && styles.highlighted);
36
- const icon = option.__customIcon || (React.createElement(OptionIcon, { name: option.iconName, url: option.iconUrl, svg: option.iconSvg, alt: option.iconAlt, ariaLabel: option.iconAriaLabel, size: option.description || option.tags ? 'big' : 'normal' }));
37
- // The option is conditionally assigned 'title' and 'aria-disabled' attributes to ensure it is viewed as a (generic) group by assistive technology only when necessary.
38
- // Omitting the props might be necessary if they are provided on the parent element to avoid nested groups.
39
- // See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/generic_role
40
- const genericGroupProps = isGenericGroup
41
- ? {
42
- title: (_d = option.label) !== null && _d !== void 0 ? _d : option.value,
43
- 'aria-disabled': disabled,
44
- }
45
- : undefined;
46
- return (React.createElement("span", Object.assign({ "data-value": option.value, className: className, lang: option.lang }, genericGroupProps, baseProps),
36
+ const icon = option.__customIcon || (React.createElement(OptionIcon, { name: option.iconName, url: option.iconUrl, svg: option.iconSvg, alt: option.iconAlt, ariaLabel: option.iconAriaLabel, size: "normal" }));
37
+ return (React.createElement("span", Object.assign({ "data-value": option.value, className: className, lang: option.lang, title: (_d = option.label) !== null && _d !== void 0 ? _d : option.value }, baseProps),
47
38
  icon,
48
39
  React.createElement("span", { className: styles.content },
49
40
  React.createElement("span", { className: styles['label-content'] },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/option/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { getBaseProps } from '../../base-component';\nimport { isDevelopment } from '../../is-development';\nimport { OptionProps } from './interfaces';\nimport { Description, FilteringTags, Label, LabelTag, OptionIcon, Tags } from './option-parts';\n\nimport styles from './styles.css.js';\n\nexport { OptionProps };\n\nfunction validateStringValue(value: string | undefined, propertyName: string) {\n if (typeof value !== 'undefined' && typeof value !== 'string') {\n warnOnce(\n 'DropdownOption',\n `This component only supports string values, but \"option.${propertyName}\" has ${typeof value} type. The component may work incorrectly.`\n );\n }\n}\n\nconst Option = ({\n option,\n highlightText,\n triggerVariant = false,\n isGroupOption = false,\n isGenericGroup = true,\n highlightedOption = false,\n selectedOption = false,\n ...restProps\n}: OptionProps) => {\n if (!option) {\n return null;\n }\n const { disabled } = option;\n const baseProps = getBaseProps(restProps);\n\n if (isDevelopment) {\n validateStringValue(option.label, 'label');\n validateStringValue(option.description, 'description');\n validateStringValue(option.labelTag, 'labelTag');\n option.tags?.forEach((tag, index) => {\n validateStringValue(tag, `tags[${index}]`);\n });\n option.filteringTags?.forEach((tag, index) => {\n validateStringValue(tag, `filteringTags[${index}]`);\n });\n }\n\n const className = clsx(\n styles.option,\n disabled && styles.disabled,\n isGroupOption && styles.parent,\n highlightedOption && styles.highlighted\n );\n\n const icon = option.__customIcon || (\n <OptionIcon\n name={option.iconName}\n url={option.iconUrl}\n svg={option.iconSvg}\n alt={option.iconAlt}\n ariaLabel={option.iconAriaLabel}\n size={option.description || option.tags ? 'big' : 'normal'}\n />\n );\n\n // The option is conditionally assigned 'title' and 'aria-disabled' attributes to ensure it is viewed as a (generic) group by assistive technology only when necessary.\n // Omitting the props might be necessary if they are provided on the parent element to avoid nested groups.\n // See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/generic_role\n const genericGroupProps = isGenericGroup\n ? {\n title: option.label ?? option.value,\n 'aria-disabled': disabled,\n }\n : undefined;\n\n return (\n <span data-value={option.value} className={className} lang={option.lang} {...genericGroupProps} {...baseProps}>\n {icon}\n <span className={styles.content}>\n <span className={styles['label-content']}>\n <Label\n label={option.label ?? option.value}\n prefix={option.__labelPrefix}\n highlightText={highlightText}\n triggerVariant={triggerVariant}\n />\n <LabelTag labelTag={option.labelTag} highlightText={highlightText} triggerVariant={triggerVariant} />\n </span>\n <Description\n description={option.description}\n highlightedOption={highlightedOption}\n selectedOption={selectedOption}\n highlightText={highlightText}\n triggerVariant={triggerVariant}\n />\n <Tags\n tags={option.tags}\n highlightedOption={highlightedOption}\n selectedOption={selectedOption}\n highlightText={highlightText}\n triggerVariant={triggerVariant}\n />\n <FilteringTags\n filteringTags={option.filteringTags}\n highlightedOption={highlightedOption}\n selectedOption={selectedOption}\n highlightText={highlightText}\n triggerVariant={triggerVariant}\n />\n </span>\n </span>\n );\n};\n\nexport default Option;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/option/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { getBaseProps } from '../../base-component';\nimport { isDevelopment } from '../../is-development';\nimport { OptionProps } from './interfaces';\nimport { Description, FilteringTags, Label, LabelTag, OptionIcon, Tags } from './option-parts';\n\nimport styles from './styles.css.js';\n\nexport { OptionProps };\n\nfunction validateStringValue(value: string | undefined, propertyName: string) {\n if (typeof value !== 'undefined' && typeof value !== 'string') {\n warnOnce(\n 'DropdownOption',\n `This component only supports string values, but \"option.${propertyName}\" has ${typeof value} type. The component may work incorrectly.`\n );\n }\n}\n\nconst Option = ({\n option,\n highlightText,\n triggerVariant = false,\n isGroupOption = false,\n highlightedOption = false,\n selectedOption = false,\n ...restProps\n}: OptionProps) => {\n if (!option) {\n return null;\n }\n const { disabled } = option;\n const baseProps = getBaseProps(restProps);\n\n if (isDevelopment) {\n validateStringValue(option.label, 'label');\n validateStringValue(option.description, 'description');\n validateStringValue(option.labelTag, 'labelTag');\n option.tags?.forEach((tag, index) => {\n validateStringValue(tag, `tags[${index}]`);\n });\n option.filteringTags?.forEach((tag, index) => {\n validateStringValue(tag, `filteringTags[${index}]`);\n });\n }\n\n const className = clsx(\n styles.option,\n disabled && styles.disabled,\n isGroupOption && styles.parent,\n highlightedOption && styles.highlighted\n );\n\n const icon = option.__customIcon || (\n <OptionIcon\n name={option.iconName}\n url={option.iconUrl}\n svg={option.iconSvg}\n alt={option.iconAlt}\n ariaLabel={option.iconAriaLabel}\n size=\"normal\"\n />\n );\n\n return (\n <span\n data-value={option.value}\n className={className}\n lang={option.lang}\n title={option.label ?? option.value}\n {...baseProps}\n >\n {icon}\n <span className={styles.content}>\n <span className={styles['label-content']}>\n <Label\n label={option.label ?? option.value}\n prefix={option.__labelPrefix}\n highlightText={highlightText}\n triggerVariant={triggerVariant}\n />\n <LabelTag labelTag={option.labelTag} highlightText={highlightText} triggerVariant={triggerVariant} />\n </span>\n <Description\n description={option.description}\n highlightedOption={highlightedOption}\n selectedOption={selectedOption}\n highlightText={highlightText}\n triggerVariant={triggerVariant}\n />\n <Tags\n tags={option.tags}\n highlightedOption={highlightedOption}\n selectedOption={selectedOption}\n highlightText={highlightText}\n triggerVariant={triggerVariant}\n />\n <FilteringTags\n filteringTags={option.filteringTags}\n highlightedOption={highlightedOption}\n selectedOption={selectedOption}\n highlightText={highlightText}\n triggerVariant={triggerVariant}\n />\n </span>\n </span>\n );\n};\n\nexport default Option;\n"]}
@@ -40,7 +40,6 @@ export interface OptionProps extends BaseComponentProps {
40
40
  highlightedOption?: boolean;
41
41
  selectedOption?: boolean;
42
42
  isGroupOption?: boolean;
43
- isGenericGroup?: boolean;
44
43
  }
45
44
  export {};
46
45
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/option/interfaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,wBAAyB,SAAQ,gBAAgB;IACzD,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAY,SAAQ,kBAAkB;IACrD,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/option/interfaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,wBAAyB,SAAQ,gBAAgB;IACzD,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAY,SAAQ,kBAAkB;IACrD,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../src/internal/components/option/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { IconProps } from '../../../icon/interfaces';\nimport { BaseComponentProps } from '../../base-component';\n\ninterface BaseOption {\n value?: string;\n label?: string;\n lang?: string;\n description?: string;\n disabled?: boolean;\n disabledReason?: string;\n labelTag?: string;\n tags?: ReadonlyArray<string>;\n filteringTags?: ReadonlyArray<string>;\n iconAlt?: string;\n iconAriaLabel?: string;\n iconName?: IconProps.Name;\n iconUrl?: string;\n iconSvg?: React.ReactNode;\n}\n\nexport interface OptionDefinition extends BaseOption {\n __labelPrefix?: string;\n}\n\ninterface InternalOptionDefinition extends OptionDefinition {\n __customIcon?: React.ReactNode;\n}\n\nexport interface OptionGroup extends BaseOption {\n options: ReadonlyArray<OptionDefinition>;\n}\n\nexport interface DropdownOption {\n type?: 'child' | 'parent' | 'select-all' | 'use-entered';\n disabled?: boolean;\n disabledReason?: string;\n option: OptionDefinition | OptionGroup;\n afterHeader?: boolean;\n}\n\nexport interface OptionProps extends BaseComponentProps {\n option?: InternalOptionDefinition;\n triggerVariant?: boolean;\n highlightText?: string;\n highlightedOption?: boolean;\n selectedOption?: boolean;\n isGroupOption?: boolean;\n isGenericGroup?: boolean;\n}\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../src/internal/components/option/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { IconProps } from '../../../icon/interfaces';\nimport { BaseComponentProps } from '../../base-component';\n\ninterface BaseOption {\n value?: string;\n label?: string;\n lang?: string;\n description?: string;\n disabled?: boolean;\n disabledReason?: string;\n labelTag?: string;\n tags?: ReadonlyArray<string>;\n filteringTags?: ReadonlyArray<string>;\n iconAlt?: string;\n iconAriaLabel?: string;\n iconName?: IconProps.Name;\n iconUrl?: string;\n iconSvg?: React.ReactNode;\n}\n\nexport interface OptionDefinition extends BaseOption {\n __labelPrefix?: string;\n}\n\ninterface InternalOptionDefinition extends OptionDefinition {\n __customIcon?: React.ReactNode;\n}\n\nexport interface OptionGroup extends BaseOption {\n options: ReadonlyArray<OptionDefinition>;\n}\n\nexport interface DropdownOption {\n type?: 'child' | 'parent' | 'select-all' | 'use-entered';\n disabled?: boolean;\n disabledReason?: string;\n option: OptionDefinition | OptionGroup;\n afterHeader?: boolean;\n}\n\nexport interface OptionProps extends BaseComponentProps {\n option?: InternalOptionDefinition;\n triggerVariant?: boolean;\n highlightText?: string;\n highlightedOption?: boolean;\n selectedOption?: boolean;\n isGroupOption?: boolean;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"option-parts.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/option/option-parts.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAOrD,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB;AACD,eAAO,MAAM,KAAK,qDAAsD,UAAU,gBAOjF,CAAC;AAEF,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB;AACD,eAAO,MAAM,QAAQ,gDAAiD,aAAa,uBAKzE,CAAC;AAEX,UAAU,gBAAgB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;AACD,eAAO,MAAM,WAAW,uFAMrB,gBAAgB,uBAWT,CAAC;AAEX,UAAU,SAAS;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;AACD,eAAO,MAAM,IAAI,+EAAgF,SAAS,uBAchG,CAAC;AAEX,UAAU,iBAAiB;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;AACD,eAAO,MAAM,aAAa,yFAMvB,iBAAiB,uBA+BnB,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,SAAS,uBAU1C,CAAC"}
1
+ {"version":3,"file":"option-parts.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/option/option-parts.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAOrD,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB;AACD,eAAO,MAAM,KAAK,qDAAsD,UAAU,gBAOjF,CAAC;AAEF,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB;AACD,eAAO,MAAM,QAAQ,gDAAiD,aAAa,uBAKzE,CAAC;AAEX,UAAU,gBAAgB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;AACD,eAAO,MAAM,WAAW,uFAMrB,gBAAgB,uBAWT,CAAC;AAEX,UAAU,SAAS;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;AACD,eAAO,MAAM,IAAI,+EAAgF,SAAS,uBAchG,CAAC;AAEX,UAAU,iBAAiB;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;AACD,eAAO,MAAM,aAAa,yFAMvB,iBAAiB,uBA2BnB,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,SAAS,uBAU1C,CAAC"}
@@ -35,7 +35,7 @@ export const FilteringTags = ({ filteringTags, highlightedOption, highlightText,
35
35
  }) }, filteringTags.map((filteringTag, key) => {
36
36
  const match = filteringTag.toLowerCase().indexOf(searchElement) !== -1;
37
37
  if (match) {
38
- return (React.createElement("span", { className: clsx(styles.tag, triggerVariant && styles['trigger-variant']), key: key, "aria-disabled": true },
38
+ return (React.createElement("span", { className: clsx(styles.tag, triggerVariant && styles['trigger-variant']), key: key },
39
39
  React.createElement(HighlightMatch, { str: filteringTag, highlightText: highlightText })));
40
40
  }
41
41
  return null;
@@ -45,7 +45,7 @@ export const OptionIcon = (props) => {
45
45
  if (!props.name && !props.url && !props.svg) {
46
46
  return null;
47
47
  }
48
- return (React.createElement("span", { className: clsx(styles.icon, props.size === 'big' && [styles[`icon-size-big`]]) },
48
+ return (React.createElement("span", { className: styles.icon },
49
49
  React.createElement(InternalIcon, Object.assign({}, props))));
50
50
  };
51
51
  //# sourceMappingURL=option-parts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"option-parts.js","sourceRoot":"","sources":["../../../../../src/internal/components/option/option-parts.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { IconProps } from '../../../icon/interfaces';\nimport InternalIcon from '../../../icon/internal';\nimport HighlightMatch from './highlight-match';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\ninterface LabelProps {\n label?: string;\n prefix?: string;\n highlightText?: string;\n triggerVariant: boolean;\n}\nexport const Label = ({ label, prefix, highlightText, triggerVariant }: LabelProps) => (\n <span className={clsx(styles.label, analyticsSelectors.label, triggerVariant && styles['trigger-variant'])}>\n {prefix && (\n <span className={clsx(styles['label-prefix'], triggerVariant && styles['trigger-variant'])}>{prefix} </span>\n )}\n <HighlightMatch str={label} highlightText={highlightText} />\n </span>\n);\n\ninterface LabelTagProps {\n labelTag?: string;\n highlightText?: string;\n triggerVariant: boolean;\n}\nexport const LabelTag = ({ labelTag, highlightText, triggerVariant }: LabelTagProps) =>\n labelTag ? (\n <span className={clsx(styles['label-tag'], triggerVariant && styles['trigger-variant'])}>\n <HighlightMatch str={labelTag} highlightText={highlightText} />\n </span>\n ) : null;\n\ninterface DescriptionProps {\n description?: string;\n highlightedOption: boolean;\n highlightText?: string;\n selectedOption: boolean;\n triggerVariant: boolean;\n}\nexport const Description = ({\n description,\n highlightedOption,\n highlightText,\n selectedOption,\n triggerVariant,\n}: DescriptionProps) =>\n description ? (\n <span\n className={clsx(styles.description, {\n [styles['trigger-variant']]: triggerVariant,\n [styles.highlighted]: highlightedOption,\n [styles.selected]: selectedOption,\n })}\n >\n <HighlightMatch str={description} highlightText={highlightText} />\n </span>\n ) : null;\n\ninterface TagsProps {\n tags?: ReadonlyArray<string>;\n highlightedOption: boolean;\n highlightText?: string;\n selectedOption: boolean;\n triggerVariant: boolean;\n}\nexport const Tags = ({ tags, highlightedOption, highlightText, selectedOption, triggerVariant }: TagsProps) =>\n tags ? (\n <span\n className={clsx(styles.tags, {\n [styles.highlighted]: highlightedOption,\n [styles.selected]: selectedOption,\n })}\n >\n {tags.map((tag, idx) => (\n <span key={idx} className={clsx(styles.tag, triggerVariant && styles['trigger-variant'])}>\n <HighlightMatch str={tag} highlightText={highlightText} />\n </span>\n ))}\n </span>\n ) : null;\n\ninterface FilteringTagProps {\n filteringTags?: ReadonlyArray<string>;\n highlightedOption: boolean;\n highlightText?: string;\n selectedOption: boolean;\n triggerVariant: boolean;\n}\nexport const FilteringTags = ({\n filteringTags,\n highlightedOption,\n highlightText,\n selectedOption,\n triggerVariant,\n}: FilteringTagProps) => {\n if (!highlightText || !filteringTags) {\n return null;\n }\n\n const searchElement = highlightText.toLowerCase();\n\n return (\n <span\n className={clsx(styles.tags, {\n [styles.highlighted]: highlightedOption,\n [styles.selected]: selectedOption,\n })}\n >\n {filteringTags.map((filteringTag, key) => {\n const match = filteringTag.toLowerCase().indexOf(searchElement) !== -1;\n if (match) {\n return (\n <span\n className={clsx(styles.tag, triggerVariant && styles['trigger-variant'])}\n key={key}\n aria-disabled={true}\n >\n <HighlightMatch str={filteringTag} highlightText={highlightText} />\n </span>\n );\n }\n return null;\n })}\n </span>\n );\n};\n\nexport const OptionIcon = (props: IconProps) => {\n if (!props.name && !props.url && !props.svg) {\n return null;\n }\n\n return (\n <span className={clsx(styles.icon, props.size === 'big' && [styles[`icon-size-big`]])}>\n <InternalIcon {...props} />\n </span>\n );\n};\n"]}
1
+ {"version":3,"file":"option-parts.js","sourceRoot":"","sources":["../../../../../src/internal/components/option/option-parts.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAE/C,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AACpE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAQrC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAc,EAAE,EAAE,CAAC,CACrF,8BAAM,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,cAAc,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACvG,MAAM,IAAI,CACT,8BAAM,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,cAAc,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAAG,MAAM;YAAS,CAC7G;IACD,oBAAC,cAAc,IAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,GAAI,CACvD,CACR,CAAC;AAOF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAiB,EAAE,EAAE,CACrF,QAAQ,CAAC,CAAC,CAAC,CACT,8BAAM,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,cAAc,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACrF,oBAAC,cAAc,IAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,GAAI,CAC1D,CACR,CAAC,CAAC,CAAC,IAAI,CAAC;AASX,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,GACG,EAAE,EAAE,CACrB,WAAW,CAAC,CAAC,CAAC,CACZ,8BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QAClC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,cAAc;QAC3C,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,iBAAiB;QACvC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,cAAc;KAClC,CAAC;IAEF,oBAAC,cAAc,IAAC,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,GAAI,CAC7D,CACR,CAAC,CAAC,CAAC,IAAI,CAAC;AASX,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAa,EAAE,EAAE,CAC5G,IAAI,CAAC,CAAC,CAAC,CACL,8BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAC3B,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,iBAAiB;QACvC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,cAAc;KAClC,CAAC,IAED,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CACtB,8BAAM,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACtF,oBAAC,cAAc,IAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,GAAI,CACrD,CACR,CAAC,CACG,CACR,CAAC,CAAC,CAAC,IAAI,CAAC;AASX,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,GACI,EAAE,EAAE;IACtB,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;IAElD,OAAO,CACL,8BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAC3B,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,iBAAiB;YACvC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,cAAc;SAClC,CAAC,IAED,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,IAAI,KAAK,EAAE;YACT,OAAO,CACL,8BAAM,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG;gBACtF,oBAAC,cAAc,IAAC,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,GAAI,CAC9D,CACR,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CACG,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAgB,EAAE,EAAE;IAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;QAC3C,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,8BAAM,SAAS,EAAE,MAAM,CAAC,IAAI;QAC1B,oBAAC,YAAY,oBAAK,KAAK,EAAI,CACtB,CACR,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { IconProps } from '../../../icon/interfaces';\nimport InternalIcon from '../../../icon/internal';\nimport HighlightMatch from './highlight-match';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\ninterface LabelProps {\n label?: string;\n prefix?: string;\n highlightText?: string;\n triggerVariant: boolean;\n}\nexport const Label = ({ label, prefix, highlightText, triggerVariant }: LabelProps) => (\n <span className={clsx(styles.label, analyticsSelectors.label, triggerVariant && styles['trigger-variant'])}>\n {prefix && (\n <span className={clsx(styles['label-prefix'], triggerVariant && styles['trigger-variant'])}>{prefix} </span>\n )}\n <HighlightMatch str={label} highlightText={highlightText} />\n </span>\n);\n\ninterface LabelTagProps {\n labelTag?: string;\n highlightText?: string;\n triggerVariant: boolean;\n}\nexport const LabelTag = ({ labelTag, highlightText, triggerVariant }: LabelTagProps) =>\n labelTag ? (\n <span className={clsx(styles['label-tag'], triggerVariant && styles['trigger-variant'])}>\n <HighlightMatch str={labelTag} highlightText={highlightText} />\n </span>\n ) : null;\n\ninterface DescriptionProps {\n description?: string;\n highlightedOption: boolean;\n highlightText?: string;\n selectedOption: boolean;\n triggerVariant: boolean;\n}\nexport const Description = ({\n description,\n highlightedOption,\n highlightText,\n selectedOption,\n triggerVariant,\n}: DescriptionProps) =>\n description ? (\n <span\n className={clsx(styles.description, {\n [styles['trigger-variant']]: triggerVariant,\n [styles.highlighted]: highlightedOption,\n [styles.selected]: selectedOption,\n })}\n >\n <HighlightMatch str={description} highlightText={highlightText} />\n </span>\n ) : null;\n\ninterface TagsProps {\n tags?: ReadonlyArray<string>;\n highlightedOption: boolean;\n highlightText?: string;\n selectedOption: boolean;\n triggerVariant: boolean;\n}\nexport const Tags = ({ tags, highlightedOption, highlightText, selectedOption, triggerVariant }: TagsProps) =>\n tags ? (\n <span\n className={clsx(styles.tags, {\n [styles.highlighted]: highlightedOption,\n [styles.selected]: selectedOption,\n })}\n >\n {tags.map((tag, idx) => (\n <span key={idx} className={clsx(styles.tag, triggerVariant && styles['trigger-variant'])}>\n <HighlightMatch str={tag} highlightText={highlightText} />\n </span>\n ))}\n </span>\n ) : null;\n\ninterface FilteringTagProps {\n filteringTags?: ReadonlyArray<string>;\n highlightedOption: boolean;\n highlightText?: string;\n selectedOption: boolean;\n triggerVariant: boolean;\n}\nexport const FilteringTags = ({\n filteringTags,\n highlightedOption,\n highlightText,\n selectedOption,\n triggerVariant,\n}: FilteringTagProps) => {\n if (!highlightText || !filteringTags) {\n return null;\n }\n\n const searchElement = highlightText.toLowerCase();\n\n return (\n <span\n className={clsx(styles.tags, {\n [styles.highlighted]: highlightedOption,\n [styles.selected]: selectedOption,\n })}\n >\n {filteringTags.map((filteringTag, key) => {\n const match = filteringTag.toLowerCase().indexOf(searchElement) !== -1;\n if (match) {\n return (\n <span className={clsx(styles.tag, triggerVariant && styles['trigger-variant'])} key={key}>\n <HighlightMatch str={filteringTag} highlightText={highlightText} />\n </span>\n );\n }\n return null;\n })}\n </span>\n );\n};\n\nexport const OptionIcon = (props: IconProps) => {\n if (!props.name && !props.url && !props.svg) {\n return null;\n }\n\n return (\n <span className={styles.icon}>\n <InternalIcon {...props} />\n </span>\n );\n};\n"]}
@@ -1,22 +1,21 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "option": "awsui_option_1p2cx_17ag7_153",
5
- "disabled": "awsui_disabled_1p2cx_17ag7_190",
6
- "parent": "awsui_parent_1p2cx_17ag7_193",
7
- "highlighted": "awsui_highlighted_1p2cx_17ag7_196",
8
- "content": "awsui_content_1p2cx_17ag7_200",
9
- "label-content": "awsui_label-content_1p2cx_17ag7_207",
10
- "label": "awsui_label_1p2cx_17ag7_207",
11
- "tag": "awsui_tag_1p2cx_17ag7_214",
12
- "label-tag": "awsui_label-tag_1p2cx_17ag7_215",
13
- "label-prefix": "awsui_label-prefix_1p2cx_17ag7_225",
14
- "tags": "awsui_tags_1p2cx_17ag7_238",
15
- "description": "awsui_description_1p2cx_17ag7_239",
16
- "selected": "awsui_selected_1p2cx_17ag7_250",
17
- "icon": "awsui_icon_1p2cx_17ag7_264",
18
- "icon-size-big": "awsui_icon-size-big_1p2cx_17ag7_271",
19
- "filtering-match-highlight": "awsui_filtering-match-highlight_1p2cx_17ag7_275",
20
- "trigger-variant": "awsui_trigger-variant_1p2cx_17ag7_290"
4
+ "option": "awsui_option_1p2cx_k1pkp_153",
5
+ "disabled": "awsui_disabled_1p2cx_k1pkp_190",
6
+ "parent": "awsui_parent_1p2cx_k1pkp_193",
7
+ "highlighted": "awsui_highlighted_1p2cx_k1pkp_196",
8
+ "content": "awsui_content_1p2cx_k1pkp_200",
9
+ "label-content": "awsui_label-content_1p2cx_k1pkp_207",
10
+ "label": "awsui_label_1p2cx_k1pkp_207",
11
+ "tag": "awsui_tag_1p2cx_k1pkp_214",
12
+ "label-tag": "awsui_label-tag_1p2cx_k1pkp_215",
13
+ "label-prefix": "awsui_label-prefix_1p2cx_k1pkp_225",
14
+ "tags": "awsui_tags_1p2cx_k1pkp_238",
15
+ "description": "awsui_description_1p2cx_k1pkp_239",
16
+ "selected": "awsui_selected_1p2cx_k1pkp_250",
17
+ "icon": "awsui_icon_1p2cx_k1pkp_264",
18
+ "filtering-match-highlight": "awsui_filtering-match-highlight_1p2cx_k1pkp_271",
19
+ "trigger-variant": "awsui_trigger-variant_1p2cx_k1pkp_286"
21
20
  };
22
21
 
@@ -150,7 +150,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
150
150
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
151
151
  SPDX-License-Identifier: Apache-2.0
152
152
  */
153
- .awsui_option_1p2cx_17ag7_153:not(#\9) {
153
+ .awsui_option_1p2cx_k1pkp_153:not(#\9) {
154
154
  border-collapse: separate;
155
155
  border-spacing: 0;
156
156
  box-sizing: border-box;
@@ -187,107 +187,103 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
187
187
  box-sizing: border-box;
188
188
  color: inherit;
189
189
  }
190
- .awsui_option_1p2cx_17ag7_153:not(#\9):not(.awsui_disabled_1p2cx_17ag7_190) {
190
+ .awsui_option_1p2cx_k1pkp_153:not(#\9):not(.awsui_disabled_1p2cx_k1pkp_190) {
191
191
  cursor: inherit;
192
192
  }
193
- .awsui_option_1p2cx_17ag7_153.awsui_parent_1p2cx_17ag7_193:not(#\9) {
193
+ .awsui_option_1p2cx_k1pkp_153.awsui_parent_1p2cx_k1pkp_193:not(#\9) {
194
194
  font-weight: bold;
195
195
  }
196
- .awsui_option_1p2cx_17ag7_153.awsui_parent_1p2cx_17ag7_193:not(#\9):not(.awsui_disabled_1p2cx_17ag7_190):not(.awsui_highlighted_1p2cx_17ag7_196) {
196
+ .awsui_option_1p2cx_k1pkp_153.awsui_parent_1p2cx_k1pkp_193:not(#\9):not(.awsui_disabled_1p2cx_k1pkp_190):not(.awsui_highlighted_1p2cx_k1pkp_196) {
197
197
  color: var(--color-text-dropdown-group-label-7pa4nd, #545b64);
198
198
  }
199
199
 
200
- .awsui_content_1p2cx_17ag7_200:not(#\9) {
200
+ .awsui_content_1p2cx_k1pkp_200:not(#\9) {
201
201
  inline-size: 100%;
202
202
  display: flex;
203
203
  flex-direction: column;
204
204
  min-inline-size: 0;
205
205
  }
206
206
 
207
- .awsui_label-content_1p2cx_17ag7_207:not(#\9) {
207
+ .awsui_label-content_1p2cx_k1pkp_207:not(#\9) {
208
208
  display: flex;
209
209
  justify-content: space-between;
210
210
  flex-wrap: wrap;
211
211
  }
212
212
 
213
- .awsui_label_1p2cx_17ag7_207:not(#\9),
214
- .awsui_tag_1p2cx_17ag7_214:not(#\9),
215
- .awsui_label-tag_1p2cx_17ag7_215:not(#\9) {
213
+ .awsui_label_1p2cx_k1pkp_207:not(#\9),
214
+ .awsui_tag_1p2cx_k1pkp_214:not(#\9),
215
+ .awsui_label-tag_1p2cx_k1pkp_215:not(#\9) {
216
216
  min-inline-size: 0;
217
217
  word-break: break-word;
218
218
  }
219
219
 
220
- .awsui_label_1p2cx_17ag7_207:not(#\9),
221
- .awsui_tag_1p2cx_17ag7_214:not(#\9) {
220
+ .awsui_label_1p2cx_k1pkp_207:not(#\9),
221
+ .awsui_tag_1p2cx_k1pkp_214:not(#\9) {
222
222
  flex-wrap: wrap;
223
223
  }
224
224
 
225
- .awsui_label-prefix_1p2cx_17ag7_225:not(#\9) {
225
+ .awsui_label-prefix_1p2cx_k1pkp_225:not(#\9) {
226
226
  font-weight: 700;
227
227
  }
228
228
 
229
- .awsui_label-tag_1p2cx_17ag7_215:not(#\9) {
229
+ .awsui_label-tag_1p2cx_k1pkp_215:not(#\9) {
230
230
  padding-inline-start: var(--space-s-4a5hs8, 12px);
231
231
  flex: auto;
232
232
  text-align: end;
233
233
  }
234
- .awsui_label-tag_1p2cx_17ag7_215:not(#\9):empty {
234
+ .awsui_label-tag_1p2cx_k1pkp_215:not(#\9):empty {
235
235
  display: none;
236
236
  }
237
237
 
238
- .awsui_tags_1p2cx_17ag7_238:not(#\9),
239
- .awsui_description_1p2cx_17ag7_239:not(#\9) {
238
+ .awsui_tags_1p2cx_k1pkp_238:not(#\9),
239
+ .awsui_description_1p2cx_k1pkp_239:not(#\9) {
240
240
  font-size: var(--font-size-body-s-psgqn2, 12px);
241
241
  line-height: var(--line-height-body-s-otgtsr, 16px);
242
242
  letter-spacing: var(--letter-spacing-body-s-egrcsd, normal);
243
243
  color: var(--color-text-dropdown-item-secondary-fi0yxi, #687078);
244
244
  flex-wrap: wrap;
245
245
  }
246
- .awsui_tags_1p2cx_17ag7_238.awsui_highlighted_1p2cx_17ag7_196:not(#\9),
247
- .awsui_description_1p2cx_17ag7_239.awsui_highlighted_1p2cx_17ag7_196:not(#\9) {
246
+ .awsui_tags_1p2cx_k1pkp_238.awsui_highlighted_1p2cx_k1pkp_196:not(#\9),
247
+ .awsui_description_1p2cx_k1pkp_239.awsui_highlighted_1p2cx_k1pkp_196:not(#\9) {
248
248
  color: var(--color-text-dropdown-item-secondary-hover-p5zsls, #687078);
249
249
  }
250
- .awsui_tags_1p2cx_17ag7_238.awsui_selected_1p2cx_17ag7_250:not(#\9),
251
- .awsui_description_1p2cx_17ag7_239.awsui_selected_1p2cx_17ag7_250:not(#\9) {
250
+ .awsui_tags_1p2cx_k1pkp_238.awsui_selected_1p2cx_k1pkp_250:not(#\9),
251
+ .awsui_description_1p2cx_k1pkp_239.awsui_selected_1p2cx_k1pkp_250:not(#\9) {
252
252
  color: var(--color-text-dropdown-item-secondary-fi0yxi, #687078);
253
253
  }
254
254
 
255
- .awsui_tags_1p2cx_17ag7_238:not(#\9) {
255
+ .awsui_tags_1p2cx_k1pkp_238:not(#\9) {
256
256
  display: flex;
257
257
  align-items: stretch;
258
258
  }
259
259
 
260
- .awsui_tag_1p2cx_17ag7_214:not(#\9):not(:last-child) {
260
+ .awsui_tag_1p2cx_k1pkp_214:not(#\9):not(:last-child) {
261
261
  padding-inline-end: var(--space-m-n2lypl, 16px);
262
262
  }
263
263
 
264
- .awsui_icon_1p2cx_17ag7_264:not(#\9) {
264
+ .awsui_icon_1p2cx_k1pkp_264:not(#\9) {
265
265
  padding-inline-end: var(--space-xs-kw7k3v, 8px);
266
266
  align-content: center;
267
267
  display: flex;
268
268
  flex-shrink: 0;
269
269
  }
270
270
 
271
- .awsui_icon-size-big_1p2cx_17ag7_271:not(#\9) {
272
- padding-block-start: var(--space-option-icon-big-top-ybqefd, 2px);
273
- }
274
-
275
- .awsui_filtering-match-highlight_1p2cx_17ag7_275:not(#\9) {
271
+ .awsui_filtering-match-highlight_1p2cx_k1pkp_271:not(#\9) {
276
272
  background-color: var(--color-background-dropdown-item-filter-match-eq1r00, #f1faff);
277
273
  color: var(--color-text-dropdown-item-filter-match-5ifrfz, #0073bb);
278
274
  font-weight: bold;
279
275
  }
280
276
 
281
- .awsui_disabled_1p2cx_17ag7_190:not(#\9) {
277
+ .awsui_disabled_1p2cx_k1pkp_190:not(#\9) {
282
278
  color: var(--color-text-dropdown-item-disabled-oysy8n, #aab7b8);
283
279
  pointer-events: none;
284
280
  }
285
- .awsui_disabled_1p2cx_17ag7_190 > .awsui_content_1p2cx_17ag7_200 > .awsui_tags_1p2cx_17ag7_238:not(#\9),
286
- .awsui_disabled_1p2cx_17ag7_190 > .awsui_content_1p2cx_17ag7_200 > .awsui_description_1p2cx_17ag7_239:not(#\9) {
281
+ .awsui_disabled_1p2cx_k1pkp_190 > .awsui_content_1p2cx_k1pkp_200 > .awsui_tags_1p2cx_k1pkp_238:not(#\9),
282
+ .awsui_disabled_1p2cx_k1pkp_190 > .awsui_content_1p2cx_k1pkp_200 > .awsui_description_1p2cx_k1pkp_239:not(#\9) {
287
283
  color: currentColor;
288
284
  }
289
285
 
290
- .awsui_trigger-variant_1p2cx_17ag7_290:not(#\9) {
286
+ .awsui_trigger-variant_1p2cx_k1pkp_286:not(#\9) {
291
287
  white-space: nowrap;
292
288
  overflow: hidden;
293
289
  text-overflow: ellipsis;
@@ -2,22 +2,21 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "option": "awsui_option_1p2cx_17ag7_153",
6
- "disabled": "awsui_disabled_1p2cx_17ag7_190",
7
- "parent": "awsui_parent_1p2cx_17ag7_193",
8
- "highlighted": "awsui_highlighted_1p2cx_17ag7_196",
9
- "content": "awsui_content_1p2cx_17ag7_200",
10
- "label-content": "awsui_label-content_1p2cx_17ag7_207",
11
- "label": "awsui_label_1p2cx_17ag7_207",
12
- "tag": "awsui_tag_1p2cx_17ag7_214",
13
- "label-tag": "awsui_label-tag_1p2cx_17ag7_215",
14
- "label-prefix": "awsui_label-prefix_1p2cx_17ag7_225",
15
- "tags": "awsui_tags_1p2cx_17ag7_238",
16
- "description": "awsui_description_1p2cx_17ag7_239",
17
- "selected": "awsui_selected_1p2cx_17ag7_250",
18
- "icon": "awsui_icon_1p2cx_17ag7_264",
19
- "icon-size-big": "awsui_icon-size-big_1p2cx_17ag7_271",
20
- "filtering-match-highlight": "awsui_filtering-match-highlight_1p2cx_17ag7_275",
21
- "trigger-variant": "awsui_trigger-variant_1p2cx_17ag7_290"
5
+ "option": "awsui_option_1p2cx_k1pkp_153",
6
+ "disabled": "awsui_disabled_1p2cx_k1pkp_190",
7
+ "parent": "awsui_parent_1p2cx_k1pkp_193",
8
+ "highlighted": "awsui_highlighted_1p2cx_k1pkp_196",
9
+ "content": "awsui_content_1p2cx_k1pkp_200",
10
+ "label-content": "awsui_label-content_1p2cx_k1pkp_207",
11
+ "label": "awsui_label_1p2cx_k1pkp_207",
12
+ "tag": "awsui_tag_1p2cx_k1pkp_214",
13
+ "label-tag": "awsui_label-tag_1p2cx_k1pkp_215",
14
+ "label-prefix": "awsui_label-prefix_1p2cx_k1pkp_225",
15
+ "tags": "awsui_tags_1p2cx_k1pkp_238",
16
+ "description": "awsui_description_1p2cx_k1pkp_239",
17
+ "selected": "awsui_selected_1p2cx_k1pkp_250",
18
+ "icon": "awsui_icon_1p2cx_k1pkp_264",
19
+ "filtering-match-highlight": "awsui_filtering-match-highlight_1p2cx_k1pkp_271",
20
+ "trigger-variant": "awsui_trigger-variant_1p2cx_k1pkp_286"
22
21
  };
23
22
 
@@ -0,0 +1,16 @@
1
+ import { DropdownOption } from '../interfaces';
2
+ interface ParentDropdownOption {
3
+ type: 'parent';
4
+ index: number;
5
+ option: DropdownOption;
6
+ children: ChildDropdownOption[];
7
+ }
8
+ interface ChildDropdownOption {
9
+ type: 'child';
10
+ index: number;
11
+ option: DropdownOption;
12
+ }
13
+ export type NestedDropdownOption = ParentDropdownOption | ChildDropdownOption;
14
+ export declare function unflattenOptions(options: ReadonlyArray<DropdownOption>): NestedDropdownOption[];
15
+ export {};
16
+ //# sourceMappingURL=unflatten-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unflatten-options.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/option/utils/unflatten-options.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,UAAU,oBAAoB;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,CAAC;AAE9E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,GAAG,oBAAoB,EAAE,CAkB/F"}
@@ -0,0 +1,23 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export function unflattenOptions(options) {
4
+ const nestedOptions = [];
5
+ let currentParent;
6
+ options.forEach((option, index) => {
7
+ var _a;
8
+ if (option.type === 'parent') {
9
+ const wrapped = { type: 'parent', option, index, children: [] };
10
+ currentParent = wrapped;
11
+ nestedOptions.push(wrapped);
12
+ }
13
+ else if (!option.type || option.type === 'child') {
14
+ ((_a = currentParent === null || currentParent === void 0 ? void 0 : currentParent.children) !== null && _a !== void 0 ? _a : nestedOptions).push({ type: 'child', option, index });
15
+ }
16
+ else {
17
+ currentParent = undefined;
18
+ nestedOptions.push({ type: 'child', option, index });
19
+ }
20
+ });
21
+ return nestedOptions;
22
+ }
23
+ //# sourceMappingURL=unflatten-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unflatten-options.js","sourceRoot":"","sources":["../../../../../../src/internal/components/option/utils/unflatten-options.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAmBtC,MAAM,UAAU,gBAAgB,CAAC,OAAsC;IACrE,MAAM,aAAa,GAA2B,EAAE,CAAC;IACjD,IAAI,aAA+C,CAAC;IAEpD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;;QAChC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,OAAO,GAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACtF,aAAa,GAAG,OAAO,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC7B;aAAM,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;YAClD,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,mCAAI,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;SACnF;aAAM;YACL,aAAa,GAAG,SAAS,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;SACtD;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACvB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { DropdownOption } from '../interfaces';\n\ninterface ParentDropdownOption {\n type: 'parent';\n index: number;\n option: DropdownOption;\n children: ChildDropdownOption[];\n}\n\ninterface ChildDropdownOption {\n type: 'child';\n index: number;\n option: DropdownOption;\n}\n\nexport type NestedDropdownOption = ParentDropdownOption | ChildDropdownOption;\n\nexport function unflattenOptions(options: ReadonlyArray<DropdownOption>): NestedDropdownOption[] {\n const nestedOptions: NestedDropdownOption[] = [];\n let currentParent: ParentDropdownOption | undefined;\n\n options.forEach((option, index) => {\n if (option.type === 'parent') {\n const wrapped: ParentDropdownOption = { type: 'parent', option, index, children: [] };\n currentParent = wrapped;\n nestedOptions.push(wrapped);\n } else if (!option.type || option.type === 'child') {\n (currentParent?.children ?? nestedOptions).push({ type: 'child', option, index });\n } else {\n currentParent = undefined;\n nestedOptions.push({ type: 'child', option, index });\n }\n });\n\n return nestedOptions;\n}\n"]}
@@ -22,6 +22,7 @@ export interface OptionsListProps extends BaseComponentProps {
22
22
  onMouseUp?: (itemIndex: number) => void;
23
23
  onMouseMove?: (itemIndex: number) => void;
24
24
  position?: React.CSSProperties['position'];
25
+ tagOverride?: 'div' | 'ul';
25
26
  role?: 'listbox' | 'list' | 'menu';
26
27
  ariaLabel?: string;
27
28
  ariaLabelledby?: string;
@@ -30,6 +31,6 @@ export interface OptionsListProps extends BaseComponentProps {
30
31
  embedded?: boolean;
31
32
  stickyItemBlockSize?: number | null;
32
33
  }
33
- declare const _default: React.ForwardRefExoticComponent<OptionsListProps & React.RefAttributes<HTMLUListElement>>;
34
+ declare const _default: React.ForwardRefExoticComponent<OptionsListProps & React.RefAttributes<HTMLDivElement>>;
34
35
  export default _default;
35
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/options-list/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAMjD,OAAO,EAAE,kBAAkB,EAAgB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EACL,aAAa,EACb,sBAAsB,EAGtB,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAIzD,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC;IAC3C;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC;;OAEG;IACH,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,SAAS,CAAC,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,yBAAyB,CAAC;QAAE,aAAa,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACnE,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;;AAwFD,wBAA6C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/options-list/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAMjD,OAAO,EAAE,kBAAkB,EAAgB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EACL,aAAa,EACb,sBAAsB,EAGtB,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAIzD,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC;IAC3C;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC;;OAEG;IACH,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,SAAS,CAAC,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,yBAAyB,CAAC;QAAE,aAAa,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACnE,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;;AAyFD,wBAA6C"}
@@ -15,7 +15,7 @@ const getItemIndex = (containerRef, event) => {
15
15
  return mouseTarget ? parseInt(mouseTarget) : -1;
16
16
  };
17
17
  const OptionsList = (_a, ref) => {
18
- var { open, statusType, children, nativeAttributes = {}, onKeyDown, onBlur, onFocus, onLoadMore, onMouseUp, onMouseMove, position = 'relative', role = 'listbox', decreaseBlockMargin = false, ariaLabel, ariaLabelledby, ariaDescribedby, embedded, stickyItemBlockSize } = _a, restProps = __rest(_a, ["open", "statusType", "children", "nativeAttributes", "onKeyDown", "onBlur", "onFocus", "onLoadMore", "onMouseUp", "onMouseMove", "position", "role", "decreaseBlockMargin", "ariaLabel", "ariaLabelledby", "ariaDescribedby", "embedded", "stickyItemBlockSize"]);
18
+ var { open, statusType, children, nativeAttributes = {}, onKeyDown, onBlur, onFocus, onLoadMore, onMouseUp, onMouseMove, position = 'relative', role = 'listbox', tagOverride: Tag = 'div', decreaseBlockMargin = false, ariaLabel, ariaLabelledby, ariaDescribedby, embedded, stickyItemBlockSize } = _a, restProps = __rest(_a, ["open", "statusType", "children", "nativeAttributes", "onKeyDown", "onBlur", "onFocus", "onLoadMore", "onMouseUp", "onMouseMove", "position", "role", "tagOverride", "decreaseBlockMargin", "ariaLabel", "ariaLabelledby", "ariaDescribedby", "embedded", "stickyItemBlockSize"]);
19
19
  const baseProps = getBaseProps(restProps);
20
20
  const menuRef = useRef(null);
21
21
  const handleScroll = useStableCallback(() => {
@@ -38,7 +38,7 @@ const OptionsList = (_a, ref) => {
38
38
  [styles['options-list-embedded']]: embedded,
39
39
  });
40
40
  const mergedRef = useMergeRefs(ref, menuRef);
41
- return (React.createElement("ul", Object.assign({}, baseProps, nativeAttributes, { className: className, ref: mergedRef, style: { position, scrollPaddingBlockStart: stickyItemBlockSize !== null && stickyItemBlockSize !== void 0 ? stickyItemBlockSize : undefined }, role: role, onScroll: handleScroll, onKeyDown: event => fireKeyboardEvent(onKeyDown, event), onMouseMove: event => onMouseMove === null || onMouseMove === void 0 ? void 0 : onMouseMove(getItemIndex(menuRef, event)), onMouseUp: event => onMouseUp === null || onMouseUp === void 0 ? void 0 : onMouseUp(getItemIndex(menuRef, event)), onBlur: event => fireNonCancelableEvent(onBlur, { relatedTarget: event.relatedTarget }), onFocus: () => fireNonCancelableEvent(onFocus), tabIndex: embedded ? 0 : -1, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby }), open && children));
41
+ return (React.createElement(Tag, Object.assign({}, baseProps, nativeAttributes, { className: className, ref: mergedRef, style: { position, scrollPaddingBlockStart: stickyItemBlockSize !== null && stickyItemBlockSize !== void 0 ? stickyItemBlockSize : undefined }, role: role, onScroll: handleScroll, onKeyDown: event => fireKeyboardEvent(onKeyDown, event), onMouseMove: event => onMouseMove === null || onMouseMove === void 0 ? void 0 : onMouseMove(getItemIndex(menuRef, event)), onMouseUp: event => onMouseUp === null || onMouseUp === void 0 ? void 0 : onMouseUp(getItemIndex(menuRef, event)), onBlur: event => fireNonCancelableEvent(onBlur, { relatedTarget: event.relatedTarget }), onFocus: () => fireNonCancelableEvent(onFocus), tabIndex: embedded ? 0 : -1, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby }), open && children));
42
42
  };
43
43
  export default React.forwardRef(OptionsList);
44
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/options-list/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\nimport { useMergeRefs, useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { BaseComponentProps, getBaseProps } from '../../base-component';\nimport {\n BaseKeyDetail,\n CancelableEventHandler,\n fireKeyboardEvent,\n fireNonCancelableEvent,\n NonCancelableEventHandler,\n} from '../../events';\nimport { DropdownStatusProps } from '../dropdown-status';\n\nimport styles from './styles.css.js';\n\nexport interface OptionsListProps extends BaseComponentProps {\n open?: boolean;\n statusType: DropdownStatusProps.StatusType;\n /**\n * Options list\n */\n children: React.ReactNode;\n nativeAttributes?: Record<string, any>;\n /**\n * Called when more items need to be loaded.\n */\n onLoadMore?: NonCancelableEventHandler;\n onKeyDown?: CancelableEventHandler<BaseKeyDetail>;\n onBlur?: NonCancelableEventHandler<{ relatedTarget: Node | null }>;\n onFocus?: NonCancelableEventHandler;\n onMouseUp?: (itemIndex: number) => void;\n onMouseMove?: (itemIndex: number) => void;\n position?: React.CSSProperties['position'];\n role?: 'listbox' | 'list' | 'menu';\n ariaLabel?: string;\n ariaLabelledby?: string;\n ariaDescribedby?: string;\n decreaseBlockMargin?: boolean;\n embedded?: boolean;\n stickyItemBlockSize?: number | null;\n}\n\nconst BOTTOM_TRIGGER_OFFSET = 80;\n\nconst getItemIndex = (containerRef: React.RefObject<HTMLElement>, event: React.MouseEvent) => {\n const target = findUpUntil(\n event.target as HTMLElement,\n element => element === containerRef.current || !!element.dataset.mouseTarget\n );\n const mouseTarget = target?.dataset.mouseTarget;\n return mouseTarget ? parseInt(mouseTarget) : -1;\n};\n\nconst OptionsList = (\n {\n open,\n statusType,\n children,\n nativeAttributes = {},\n onKeyDown,\n onBlur,\n onFocus,\n onLoadMore,\n onMouseUp,\n onMouseMove,\n position = 'relative',\n role = 'listbox',\n decreaseBlockMargin = false,\n ariaLabel,\n ariaLabelledby,\n ariaDescribedby,\n embedded,\n stickyItemBlockSize,\n ...restProps\n }: OptionsListProps,\n ref: React.Ref<HTMLUListElement>\n) => {\n const baseProps = getBaseProps(restProps);\n const menuRef = useRef<HTMLUListElement>(null);\n\n const handleScroll = useStableCallback(() => {\n const scrollContainer = menuRef?.current;\n if (scrollContainer) {\n const bottomEdgePosition = scrollContainer.scrollTop + scrollContainer.clientHeight;\n const remainingScrollHeight = scrollContainer.scrollHeight - bottomEdgePosition;\n if (remainingScrollHeight < BOTTOM_TRIGGER_OFFSET) {\n fireNonCancelableEvent(onLoadMore);\n }\n }\n });\n\n useEffect(() => {\n if (open && statusType === 'pending') {\n handleScroll();\n }\n }, [open, statusType, handleScroll]);\n\n const className = clsx(styles['options-list'], {\n [styles['decrease-block-margin']]: decreaseBlockMargin,\n [styles['options-list-embedded']]: embedded,\n });\n\n const mergedRef = useMergeRefs(ref, menuRef);\n\n return (\n <ul\n {...baseProps}\n {...nativeAttributes}\n className={className}\n ref={mergedRef}\n style={{ position, scrollPaddingBlockStart: stickyItemBlockSize ?? undefined }}\n role={role}\n onScroll={handleScroll}\n onKeyDown={event => fireKeyboardEvent(onKeyDown, event)}\n onMouseMove={event => onMouseMove?.(getItemIndex(menuRef, event))}\n onMouseUp={event => onMouseUp?.(getItemIndex(menuRef, event))}\n onBlur={event => fireNonCancelableEvent(onBlur, { relatedTarget: event.relatedTarget })}\n onFocus={() => fireNonCancelableEvent(onFocus)}\n tabIndex={embedded ? 0 : -1}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n >\n {open && children}\n </ul>\n );\n};\n\nexport default React.forwardRef(OptionsList);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/options-list/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAEhG,OAAO,EAAsB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAGL,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,cAAc,CAAC;AAGtB,OAAO,MAAM,MAAM,iBAAiB,CAAC;AA8BrC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAM,YAAY,GAAG,CAAC,YAA0C,EAAE,KAAuB,EAAE,EAAE;IAC3F,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,CAAC,MAAqB,EAC3B,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAC7E,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,WAAW,CAAC;IAChD,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,EAqBmB,EACnB,GAA8B,EAC9B,EAAE;QAvBF,EACE,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,gBAAgB,GAAG,EAAE,EACrB,SAAS,EACT,MAAM,EACN,OAAO,EACP,UAAU,EACV,SAAS,EACT,WAAW,EACX,QAAQ,GAAG,UAAU,EACrB,IAAI,GAAG,SAAS,EAChB,WAAW,EAAE,GAAG,GAAG,KAAK,EACxB,mBAAmB,GAAG,KAAK,EAC3B,SAAS,EACT,cAAc,EACd,eAAe,EACf,QAAQ,EACR,mBAAmB,OAEF,EADd,SAAS,cApBd,iRAqBC,CADa;IAId,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,EAAE;QAC1C,MAAM,eAAe,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;QACzC,IAAI,eAAe,EAAE;YACnB,MAAM,kBAAkB,GAAG,eAAe,CAAC,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC;YACpF,MAAM,qBAAqB,GAAG,eAAe,CAAC,YAAY,GAAG,kBAAkB,CAAC;YAChF,IAAI,qBAAqB,GAAG,qBAAqB,EAAE;gBACjD,sBAAsB,CAAC,UAAU,CAAC,CAAC;aACpC;SACF;IACH,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE;YACpC,YAAY,EAAE,CAAC;SAChB;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAErC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;QAC7C,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAAE,mBAAmB;QACtD,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAAE,QAAQ;KAC5C,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE7C,OAAO,CACL,oBAAC,GAAG,oBACE,SAAS,EACT,gBAAgB,IACpB,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,EAAE,QAAQ,EAAE,uBAAuB,EAAE,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,SAAS,EAAE,EAC9E,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,EACvD,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EACjE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAC7D,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,EACvF,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAC9C,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBACf,SAAS,qBACJ,cAAc,sBACb,eAAe,KAEhC,IAAI,IAAI,QAAQ,CACb,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\nimport { useMergeRefs, useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { BaseComponentProps, getBaseProps } from '../../base-component';\nimport {\n BaseKeyDetail,\n CancelableEventHandler,\n fireKeyboardEvent,\n fireNonCancelableEvent,\n NonCancelableEventHandler,\n} from '../../events';\nimport { DropdownStatusProps } from '../dropdown-status';\n\nimport styles from './styles.css.js';\n\nexport interface OptionsListProps extends BaseComponentProps {\n open?: boolean;\n statusType: DropdownStatusProps.StatusType;\n /**\n * Options list\n */\n children: React.ReactNode;\n nativeAttributes?: Record<string, any>;\n /**\n * Called when more items need to be loaded.\n */\n onLoadMore?: NonCancelableEventHandler;\n onKeyDown?: CancelableEventHandler<BaseKeyDetail>;\n onBlur?: NonCancelableEventHandler<{ relatedTarget: Node | null }>;\n onFocus?: NonCancelableEventHandler;\n onMouseUp?: (itemIndex: number) => void;\n onMouseMove?: (itemIndex: number) => void;\n position?: React.CSSProperties['position'];\n tagOverride?: 'div' | 'ul';\n role?: 'listbox' | 'list' | 'menu';\n ariaLabel?: string;\n ariaLabelledby?: string;\n ariaDescribedby?: string;\n decreaseBlockMargin?: boolean;\n embedded?: boolean;\n stickyItemBlockSize?: number | null;\n}\n\nconst BOTTOM_TRIGGER_OFFSET = 80;\n\nconst getItemIndex = (containerRef: React.RefObject<HTMLElement>, event: React.MouseEvent) => {\n const target = findUpUntil(\n event.target as HTMLElement,\n element => element === containerRef.current || !!element.dataset.mouseTarget\n );\n const mouseTarget = target?.dataset.mouseTarget;\n return mouseTarget ? parseInt(mouseTarget) : -1;\n};\n\nconst OptionsList = (\n {\n open,\n statusType,\n children,\n nativeAttributes = {},\n onKeyDown,\n onBlur,\n onFocus,\n onLoadMore,\n onMouseUp,\n onMouseMove,\n position = 'relative',\n role = 'listbox',\n tagOverride: Tag = 'div',\n decreaseBlockMargin = false,\n ariaLabel,\n ariaLabelledby,\n ariaDescribedby,\n embedded,\n stickyItemBlockSize,\n ...restProps\n }: OptionsListProps,\n ref: React.Ref<HTMLDivElement>\n) => {\n const baseProps = getBaseProps(restProps);\n const menuRef = useRef<HTMLElement>(null);\n\n const handleScroll = useStableCallback(() => {\n const scrollContainer = menuRef?.current;\n if (scrollContainer) {\n const bottomEdgePosition = scrollContainer.scrollTop + scrollContainer.clientHeight;\n const remainingScrollHeight = scrollContainer.scrollHeight - bottomEdgePosition;\n if (remainingScrollHeight < BOTTOM_TRIGGER_OFFSET) {\n fireNonCancelableEvent(onLoadMore);\n }\n }\n });\n\n useEffect(() => {\n if (open && statusType === 'pending') {\n handleScroll();\n }\n }, [open, statusType, handleScroll]);\n\n const className = clsx(styles['options-list'], {\n [styles['decrease-block-margin']]: decreaseBlockMargin,\n [styles['options-list-embedded']]: embedded,\n });\n\n const mergedRef = useMergeRefs(ref, menuRef);\n\n return (\n <Tag\n {...baseProps}\n {...nativeAttributes}\n className={className}\n ref={mergedRef}\n style={{ position, scrollPaddingBlockStart: stickyItemBlockSize ?? undefined }}\n role={role}\n onScroll={handleScroll}\n onKeyDown={event => fireKeyboardEvent(onKeyDown, event)}\n onMouseMove={event => onMouseMove?.(getItemIndex(menuRef, event))}\n onMouseUp={event => onMouseUp?.(getItemIndex(menuRef, event))}\n onBlur={event => fireNonCancelableEvent(onBlur, { relatedTarget: event.relatedTarget })}\n onFocus={() => fireNonCancelableEvent(onFocus)}\n tabIndex={embedded ? 0 : -1}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n >\n {open && children}\n </Tag>\n );\n};\n\nexport default React.forwardRef(OptionsList);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/selectable-item/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAQvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAKnD,OAAO,EAAE,mBAAmB,EAAE,CAAC;;AA4H/B,wBAAgD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/selectable-item/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAQvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAKnD,OAAO,EAAE,mBAAmB,EAAE,CAAC;;AA8H/B,wBAAgD"}