@amboss/design-system 3.36.1 → 3.36.3

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 (29) hide show
  1. package/build/cjs/components/AccessCardItem/AccessCardItem.d.ts +1 -0
  2. package/build/cjs/components/EntityList/BaseEntityList.d.ts +1 -1
  3. package/build/cjs/components/EntityList/BaseEntityList.js +1 -1
  4. package/build/cjs/components/EntityList/EntityItemBody.js +1 -1
  5. package/build/cjs/components/EntityList/EntityListItem.js +1 -1
  6. package/build/cjs/components/EntityList/VirtualizedEntityList.d.ts +1 -1
  7. package/build/cjs/components/EntityList/types.d.ts +6 -1
  8. package/build/cjs/components/EntityList/useFocusByIndex.d.ts +2 -1
  9. package/build/cjs/components/EntityList/useFocusByIndex.js +1 -1
  10. package/build/cjs/components/EntityTree/BaseEntityTree.js +1 -1
  11. package/build/cjs/components/Form/SegmentedControl/-types.d.ts +6 -0
  12. package/build/cjs/components/Form/SegmentedControl/SegmentedControlOption.d.ts +1 -1
  13. package/build/cjs/components/Form/SegmentedControl/SegmentedControlOption.js +1 -1
  14. package/build/cjs/components/Toggletip/BasePopover.js +1 -1
  15. package/build/esm/components/AccessCardItem/AccessCardItem.d.ts +1 -0
  16. package/build/esm/components/EntityList/BaseEntityList.d.ts +1 -1
  17. package/build/esm/components/EntityList/BaseEntityList.js +1 -1
  18. package/build/esm/components/EntityList/EntityItemBody.js +1 -1
  19. package/build/esm/components/EntityList/EntityListItem.js +1 -1
  20. package/build/esm/components/EntityList/VirtualizedEntityList.d.ts +1 -1
  21. package/build/esm/components/EntityList/types.d.ts +6 -1
  22. package/build/esm/components/EntityList/useFocusByIndex.d.ts +2 -1
  23. package/build/esm/components/EntityList/useFocusByIndex.js +1 -1
  24. package/build/esm/components/EntityTree/BaseEntityTree.js +1 -1
  25. package/build/esm/components/Form/SegmentedControl/-types.d.ts +6 -0
  26. package/build/esm/components/Form/SegmentedControl/SegmentedControlOption.d.ts +1 -1
  27. package/build/esm/components/Form/SegmentedControl/SegmentedControlOption.js +1 -1
  28. package/build/esm/components/Toggletip/BasePopover.js +1 -1
  29. package/package.json +1 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"BasePopover",{enumerable:!0,get:function(){return BasePopover}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_TooltipContent=require("../Tooltip/TooltipContent"),_Sheet=require("../Sheet/Sheet"),_FocusTrapWrapper=require("../../shared/FocusTrapWrapper"),_breakpointsjson=/*#__PURE__*/_interop_require_default._(require("../../web-tokens/_breakpoints.json")),_ariaAttributes=require("../../shared/ariaAttributes"),StyledContainer=(0,_styled.default)("div",{target:"ewyi9km0",label:"StyledContainer"})(()=>({borderRadius:"inherit"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9nZ2xldGlwL0Jhc2VQb3BvdmVyLnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvVG9nZ2xldGlwL0Jhc2VQb3BvdmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nICovXG5pbXBvcnQgdHlwZSB7IFJlYWN0RWxlbWVudCwgUHJvcHNXaXRoQ2hpbGRyZW4gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VTdGF0ZSxcbiAgdXNlUmVmLFxuICB1c2VFZmZlY3QsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VNZW1vLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBUb29sdGlwQ29udGVudFByb3BzIH0gZnJvbSBcIi4uL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnRcIjtcbmltcG9ydCB0eXBlIHsgVG9vbHRpcENvbmRpdGlvbmFsUHJvcHMgfSBmcm9tIFwiLi4vVG9vbHRpcC90eXBlc1wiO1xuaW1wb3J0IHsgVG9vbHRpcENvbnRlbnQgfSBmcm9tIFwiLi4vVG9vbHRpcC9Ub29sdGlwQ29udGVudFwiO1xuaW1wb3J0IHR5cGUgeyBQb3B1cFJvbGUgfSBmcm9tIFwiLi4vU2hlZXQvU2hlZXRcIjtcbmltcG9ydCB7IFNoZWV0IH0gZnJvbSBcIi4uL1NoZWV0L1NoZWV0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgYnJlYWtwb2ludHMgZnJvbSBcIi4uLy4uL3dlYi10b2tlbnMvX2JyZWFrcG9pbnRzLmpzb25cIjtcbmltcG9ydCB7IGdldEFyaWFBdHRyaWJ1dGVzIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9hcmlhQXR0cmlidXRlc1wiO1xuXG50eXBlIEJhc2VQcm9wcyA9IFBpY2s8XG4gIFRvb2x0aXBDb250ZW50UHJvcHMsXG4gIHwgXCJwbGFjZW1lbnRcIlxuICB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgfCBcIm1heFdpZHRoXCJcbiAgfCBcImNvbnRlbnRQYWRkaW5nXCJcbiAgfCBcImhpZGVBcnJvd1wiXG4gIHwgXCJzdWJUaGVtZVwiXG4gIHwgXCJkZWZhdWx0VmVydGljYWxQbGFjZW1lbnRcIlxuICB8IFwib25PdmVyZmxvd1ZpZXdwb3J0XCJcbj4gJiB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiAgUG9wb3ZlciBjb250ZW50ICovXG4gIGNvbnRlbnQ6IFJlYWN0RWxlbWVudDtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIC8qKiAgUHJvZ3JhbW1hdGljYWxseSB0b2dnbGUgUG9wb3ZlciB2aXNpYmlsaXR5IHdpdGggdGhpcyBwcm9wICovXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIC8qKiAgQ2FsbGVkIHdoZW4gdG9vbHRpcCBhcHBlYXJzIGFuZCBkaXNhcHBlYXJzICovXG4gIG9uVmlzaWJpbGl0eUNoYW5nZT86IChpc1Zpc2libGU6IGJvb2xlYW4sIHJlYXNvbjogc3RyaW5nKSA9PiB2b2lkO1xuICAvKiogIENvbnRyb2xzIHdoZXRoZXIgQmFzZVBvcG92ZXIgIGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qKiAgT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSBmaXJzdCBmb2N1YWJsZSBpdGVtIHJlY2lldmVzIGZvY3VzICovXG4gIGRpc2FibGVJbml0aWFsRm9jdXM/OiBib29sZWFuO1xuICAvKiogIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgdHJpZ2dlciBzaG91bGQgcmVjZWl2ZSBiYWNrIHRoZSBmb2N1cyBvbiBwb3BvdmVyIGNsb3NlICovXG4gIGRpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcj86IGJvb2xlYW47XG4gIC8qKiAgUmVuZGVyIGFzIHNoZWV0IG9uIG1vYmlsZSB3ZWIgKi9cbiAgcmVuZGVyQXNTaGVldE9uTW9iaWxlPzogYm9vbGVhbjtcbiAgLyoqIFJvbGUgZm9yIGFjY2Vzc2liaWxpdHkgKi9cbiAgcm9sZT86IFBvcHVwUm9sZTtcbiAgLyoqICBQcm9wcyBmb3IgY29uZmlndXJpbmcgdGhlIHNoZWV0IG9uIG1vYmlsZSB3ZWIgKi9cbiAgc2hlZXRQcm9wcz86IHtcbiAgICAvKiogIFNob3cgdGhlIGRhcmsgc2NyaW0gYmFja2Ryb3Agb24gbW9iaWxlIHdlYiB3aGVuIHJlbmRlcmluZyBhcyBTaGVldCAqL1xuICAgIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhc2VQb3BvdmVyUHJvcHMgPSBCYXNlUHJvcHMgJiBUb29sdGlwQ29uZGl0aW9uYWxQcm9wcztcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdigoKSA9PiAoe1xuICBib3JkZXJSYWRpdXM6IFwiaW5oZXJpdFwiLFxufSkpO1xuXG5jb25zdCBGb2N1c1RyYXBDb250ZW50ID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgSFRNTERpdkVsZW1lbnQsXG4gIFByb3BzV2l0aENoaWxkcmVuPHVua25vd24+XG4+KCh7IGNoaWxkcmVuIH0sIHJlZikgPT4gKFxuICA8U3R5bGVkQ29udGFpbmVyIHJlZj17cmVmfT57Y2hpbGRyZW59PC9TdHlsZWRDb250YWluZXI+XG4pKTtcblxuY29uc3QgVmlzaWJpbGl0eUNoYW5nZVJlYXNvbiA9IHtcbiAgdHJpZ2dlckNsaWNrOiBcInRyaWdnZXJDbGlja1wiLFxuICBvdXRzaWRlQ2xpY2s6IFwib3V0c2lkZUNsaWNrXCIsXG59O1xuXG5mdW5jdGlvbiBnZXRBcmlhUG9wdXBUeXBlKHJvbGU6IFBvcHVwUm9sZSB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gIGxldCBwb3B1cFR5cGU6IHN0cmluZyA9IFN0cmluZyhyb2xlKTtcbiAgaWYgKCFyb2xlKSB7XG4gICAgcG9wdXBUeXBlID0gXCJ0cnVlXCI7XG4gIH1cbiAgaWYgKHJvbGUgPT09IFwiYWxlcnRkaWFsb2dcIikge1xuICAgIHJldHVybiBcImRpYWxvZ1wiO1xuICB9XG4gIHJldHVybiBwb3B1cFR5cGU7XG59XG5cbmZ1bmN0aW9uIGdldE1vYmlsZUJyZWFrcG9pbnQocmVuZGVyQXNTaGVldE9uTW9iaWxlOiBib29sZWFuKSB7XG4gIGlmICghd2luZG93KSB7XG4gICAgLy8gVE9ETyB3aW5kb3cgc2hvdWxkIGJlIGV4dHJhY3RlZCBmcm9tIGhvb2sgdXNlV2luZG93XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgbWF4TW9iaWxlSGVpZ2h0SW5MYW5kc2NhcGUgPSA0NTA7IC8vIGlzIDQzMCBmb3IgaXBob25lIHBybyBtYXgsIGJ1dCBsZXQncyBhZGQgMjBweCBmb3IgbmV4dCBnZW5lcmF0aW9uc1xuICBjb25zdCBpc01vYmlsZUluUG9ydHJhaXQgPSB3aW5kb3cuaW5uZXJXaWR0aCA8PSBicmVha3BvaW50cy5tLnZhbHVlO1xuICBjb25zdCBpc1NtYWxsSGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IDw9IG1heE1vYmlsZUhlaWdodEluTGFuZHNjYXBlO1xuICBjb25zdCBpc0xhbmRzY2FwZSA9IHdpbmRvdy5tYXRjaE1lZGlhPy4oXCIob3JpZW50YXRpb246IGxhbmRzY2FwZSlcIikubWF0Y2hlcztcbiAgY29uc3QgaXNNb2JpbGVJbkxhbmRzY2FwZSA9IGlzTGFuZHNjYXBlICYmIGlzU21hbGxIZWlnaHQ7XG5cbiAgcmV0dXJuIHJlbmRlckFzU2hlZXRPbk1vYmlsZSAmJiAoaXNNb2JpbGVJblBvcnRyYWl0IHx8IGlzTW9iaWxlSW5MYW5kc2NhcGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQmFzZVBvcG92ZXIoe1xuICBwbGFjZW1lbnQgPSBcImF1dG9cIixcbiAgY29udGVudCxcbiAgY2hpbGRyZW4sXG4gIGNvbnRlbnRQYWRkaW5nID0gXCJtXCIsXG4gIG1heFdpZHRoLFxuICBleHRlcm5hbFRyaWdnZXJSZWYsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgbmFtZSA9IFwiUG9wb3ZlclwiLFxuICBpc1Zpc2libGU6IGlzUG9wb3ZlclZpc2libGUsXG4gIGRpc21pc3NPbk91dHNpZGVDbGljayA9IHRydWUsXG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICBzdWJUaGVtZSxcbiAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICBvblZpc2liaWxpdHlDaGFuZ2UsXG4gIGRpc2FibGVJbml0aWFsRm9jdXMgPSBmYWxzZSxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyID0gZmFsc2UsXG4gIHJlbmRlckFzU2hlZXRPbk1vYmlsZSA9IGZhbHNlLFxuICByb2xlLFxuICBzaGVldFByb3BzLFxuICAuLi5yZXN0Q29udGVudFByb3BzXG59OiBCYXNlUG9wb3ZlclByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgdG9vbHRpcElkID0gdXNlTWVtbyhcbiAgICAoKSA9PiBgRFMke25hbWV9XyR7TWF0aC5mbG9vcihEYXRlLm5vdygpICogTWF0aC5yYW5kb20oKSl9YCxcbiAgICBbbmFtZV1cbiAgKTtcbiAgY29uc3QgW2lzVmlzaWJsZSwgc2V0VmlzaWJsZV0gPSB1c2VTdGF0ZShpc1BvcG92ZXJWaXNpYmxlKTtcbiAgY29uc3QgW2lzTW9iaWxlQnJlYWtQb2ludCwgc2V0SXNNb2JpbGVCcmVha3BvaW50XSA9IHVzZVN0YXRlKFxuICAgIGdldE1vYmlsZUJyZWFrcG9pbnQocmVuZGVyQXNTaGVldE9uTW9iaWxlKVxuICApO1xuICBjb25zdCBpbnRlcm5hbFRyaWdnZXJSZWYgPSB1c2VSZWY8SFRNTEVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCB0cmlnZ2VyUmVmID0gZXh0ZXJuYWxUcmlnZ2VyUmVmIHx8IGludGVybmFsVHJpZ2dlclJlZjtcbiAgY29uc3QgaXNPdXRzaWRlQ2xpY2tPblRyaWdnZXIgPSB1c2VSZWYoZmFsc2UpO1xuICBjb25zdCBhcmlhQXR0cmlidXRlcyA9IGdldEFyaWFBdHRyaWJ1dGVzKHJlc3RDb250ZW50UHJvcHMpO1xuXG4gIGNvbnN0IHRvZ2dsZVZpc2liaWxpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAoc3RhdHVzOiBib29sZWFuLCByZWFzb246IHN0cmluZykgPT4ge1xuICAgICAgc2V0VmlzaWJsZShzdGF0dXMpO1xuXG4gICAgICBpZiAob25WaXNpYmlsaXR5Q2hhbmdlKSB7XG4gICAgICAgIG9uVmlzaWJpbGl0eUNoYW5nZShzdGF0dXMsIHJlYXNvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25WaXNpYmlsaXR5Q2hhbmdlXVxuICApO1xuXG4gIC8vIE91dHNpZGUgY2xpY2sgaXMgYWxzbyBmaXJlZCB3aGVuIHRoZSBQb3BvdmVyIGlzIG9wZW4gYW5kIHRyaWdnZXIgaXMgY2xpY2tlZC4gYGlzT3V0c2lkZUNsaWNrT25UcmlnZ2VyYCBzYXZlcyB0aGlzIGNvbmRpdGlvbiBhbmQgd2UgY2hlY2sgZm9yIGl0IHNvIGFzIHRvIG5vdCB0b2dnbGUgdGhlIFBvcG92ZXIgdHdpY2UuXG4gIGNvbnN0IGhhbmRsZVRyaWdnZXJDbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoIWlzT3V0c2lkZUNsaWNrT25UcmlnZ2VyLmN1cnJlbnQpIHtcbiAgICAgIHRvZ2dsZVZpc2liaWxpdHkoIWlzVmlzaWJsZSwgVmlzaWJpbGl0eUNoYW5nZVJlYXNvbi50cmlnZ2VyQ2xpY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyByZXNldCB0aGlzIHZhbHVlIHNvIHRoYXQgUG9wb3ZlciBjYW4gb3BlbiBpbiBuZXh0IGNsaWNrXG4gICAgICBpc091dHNpZGVDbGlja09uVHJpZ2dlci5jdXJyZW50ID0gZmFsc2U7XG4gICAgfVxuICB9LCBbdG9nZ2xlVmlzaWJpbGl0eSwgaXNWaXNpYmxlXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXMgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZ0OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHRyaWdnZXJSZWYuY3VycmVudCAmJlxuICAgICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKVxuICAgICAgKSB7XG4gICAgICAgIGlzT3V0c2lkZUNsaWNrT25UcmlnZ2VyLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBbdHJpZ2dlclJlZiwgaXNPdXRzaWRlQ2xpY2tPblRyaWdnZXJdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlUG9zdERlYWN0aXZhdGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgcmVhc29uID0gaXNPdXRzaWRlQ2xpY2tPblRyaWdnZXIuY3VycmVudFxuICAgICAgPyBWaXNpYmlsaXR5Q2hhbmdlUmVhc29uLnRyaWdnZXJDbGlja1xuICAgICAgOiBWaXNpYmlsaXR5Q2hhbmdlUmVhc29uLm91dHNpZGVDbGljaztcblxuICAgIHRvZ2dsZVZpc2liaWxpdHkoZmFsc2UsIHJlYXNvbik7XG4gIH0sIFt0b2dnbGVWaXNpYmlsaXR5XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRWaXNpYmxlKGlzUG9wb3ZlclZpc2libGUpO1xuICB9LCBbaXNQb3BvdmVyVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIG1vYmlsZSBicmVha3BvaW50XG4gICAgc2V0SXNNb2JpbGVCcmVha3BvaW50KGdldE1vYmlsZUJyZWFrcG9pbnQocmVuZGVyQXNTaGVldE9uTW9iaWxlKSk7XG4gIH0sIFtpc1Zpc2libGUsIHJlbmRlckFzU2hlZXRPbk1vYmlsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdHJpZ2dlciA9IHRyaWdnZXJSZWYuY3VycmVudDtcbiAgICBpZiAoIXRyaWdnZXIpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBoYW5kbGVUcmlnZ2VyQ2xpY2spO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRyaWdnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZVRyaWdnZXJDbGljayk7XG4gICAgfTtcbiAgfSwgW2hhbmRsZVRyaWdnZXJDbGljaywgdHJpZ2dlclJlZl0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGV4dGVybmFsVHJpZ2dlclJlZj8uY3VycmVudCAmJiAhY2hpbGRyZW4pIHtcbiAgICAgIGNvbnN0IHRyaWdnZXIgPSBleHRlcm5hbFRyaWdnZXJSZWYuY3VycmVudDtcbiAgICAgIGNvbnN0IHRyaWdnZXJUYWJJbmRleCA9IHRyaWdnZXIuZ2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIik7XG5cbiAgICAgIHRyaWdnZXIuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgdHJpZ2dlclRhYkluZGV4ID8/IFwiMFwiKTtcbiAgICB9XG4gIH0sIFtleHRlcm5hbFRyaWdnZXJSZWYsIGNoaWxkcmVuXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZXh0ZXJuYWxUcmlnZ2VyUmVmPy5jdXJyZW50ICYmICFjaGlsZHJlbikge1xuICAgICAgY29uc3QgdHJpZ2dlciA9IGV4dGVybmFsVHJpZ2dlclJlZi5jdXJyZW50O1xuXG4gICAgICB0cmlnZ2VyLnNldEF0dHJpYnV0ZShcImFyaWEtaGFzcG9wdXBcIiwgZ2V0QXJpYVBvcHVwVHlwZShyb2xlKSk7XG4gICAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICAgIHRyaWdnZXIuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCBcInRydWVcIik7XG4gICAgICAgIHRyaWdnZXIuc2V0QXR0cmlidXRlKFwiYXJpYS1jb250cm9sc1wiLCB0b29sdGlwSWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIpO1xuICAgICAgICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtY29udHJvbHNcIik7XG4gICAgICB9XG4gICAgfVxuICB9LCBbZXh0ZXJuYWxUcmlnZ2VyUmVmLCBjaGlsZHJlbiwgcm9sZSwgdG9vbHRpcElkLCBpc1Zpc2libGVdKTtcblxuICBjb25zdCB0cmlnZ2VyRWxtID0gY2hpbGRyZW5cbiAgICA/IFJlYWN0LmNsb25lRWxlbWVudChjaGlsZHJlbiwge1xuICAgICAgICByZWY6IHRyaWdnZXJSZWYsXG4gICAgICAgIC4uLihpc1Zpc2libGUgJiYge1xuICAgICAgICAgIFwiYXJpYS1leHBhbmRlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiYXJpYS1jb250cm9sc1wiOiB0b29sdGlwSWQsXG4gICAgICAgIH0pLFxuICAgICAgICB0YWJJbmRleDogY2hpbGRyZW4ucHJvcHMudGFiSW5kZXggPz8gMCxcbiAgICAgICAgXCJhcmlhLWhhc3BvcHVwXCI6IGdldEFyaWFQb3B1cFR5cGUocm9sZSksXG4gICAgICB9KVxuICAgIDogbnVsbDtcblxuICBpZiAoaXNNb2JpbGVCcmVha1BvaW50KSB7XG4gICAgLy8gcmVuZGVyIGFzIFNoZWV0XG4gICAgY29uc3Qgc2hlZXRFbG0gPSAoXG4gICAgICA8U2hlZXRcbiAgICAgICAgaWQ9e3Rvb2x0aXBJZH1cbiAgICAgICAgaXNWaXNpYmxlPXtpc1Zpc2libGV9XG4gICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICBkaXNtaXNzT25PdXRzaWRlQ2xpY2s9e2Rpc21pc3NPbk91dHNpZGVDbGlja31cbiAgICAgICAgZGlzYWJsZUluaXRpYWxGb2N1cz17ZGlzYWJsZUluaXRpYWxGb2N1c31cbiAgICAgICAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyPXtkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXJ9XG4gICAgICAgIG9uQ2xvc2U9e2hhbmRsZVBvc3REZWFjdGl2YXRlfVxuICAgICAgICBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzPXtoYW5kbGVDbGlja091dHNpZGVEZWFjdGl2YXRlc31cbiAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgey4uLihzaGVldFByb3BzID8/IHt9KX1cbiAgICAgICAgey4uLmFyaWFBdHRyaWJ1dGVzfVxuICAgICAgPlxuICAgICAgICB7Y29udGVudH1cbiAgICAgIDwvU2hlZXQ+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7dHJpZ2dlckVsbX1cbiAgICAgICAge3NoZWV0RWxtfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG4gIC8vIHJlbmRlciBhcyBQb3BvdmVyXG4gIGNvbnN0IGNvbnRlbnRFbG0gPSAoXG4gICAgPEZvY3VzVHJhcFdyYXBwZXJcbiAgICAgIGFjdGl2ZT17aXNWaXNpYmxlfVxuICAgICAgZm9jdXNUcmFwT3B0aW9ucz17e1xuICAgICAgICBjbGlja091dHNpZGVEZWFjdGl2YXRlczpcbiAgICAgICAgICBkaXNtaXNzT25PdXRzaWRlQ2xpY2sgJiYgaGFuZGxlQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXMsIC8vIGRlLWFjdGl2YXRlIGZvY3VzIHRyYXAgb24gb3V0c2lkZSBjbGlja1xuICAgICAgICBhbGxvd091dHNpZGVDbGljazogdHJ1ZSxcbiAgICAgICAgZXNjYXBlRGVhY3RpdmF0ZXM6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IGAjJHt0b29sdGlwSWR9YCwgLy8gc2V0IGZvY3VzIHRvIHRvb2x0aXAgY29udGVudCBjb250YWluZXIgaWYgaXQgaGFzIG5vIGZvY3VzYWJsZSBlbGVtZW50XG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGU6IGhhbmRsZVBvc3REZWFjdGl2YXRlLFxuICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICBpbml0aWFsRm9jdXM6ICgpID0+ICFkaXNhYmxlSW5pdGlhbEZvY3VzLFxuICAgICAgICByZXR1cm5Gb2N1c09uRGVhY3RpdmF0ZTogIWRpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcixcbiAgICAgIH19XG4gICAgPlxuICAgICAgPEZvY3VzVHJhcENvbnRlbnQ+e2NvbnRlbnR9PC9Gb2N1c1RyYXBDb250ZW50PlxuICAgIDwvRm9jdXNUcmFwV3JhcHBlcj5cbiAgKTtcblxuICBjb25zdCB0b29sdGlwRWxtID0gKFxuICAgIDxUb29sdGlwQ29udGVudFxuICAgICAgey4uLnJlc3RDb250ZW50UHJvcHN9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICAgICAgcm9sZT17cm9sZX1cbiAgICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudD17ZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgZGF0YURTSWQ9e25hbWV9XG4gICAgICBjb250ZW50PXtjb250ZW50RWxtfVxuICAgICAgY29udGVudFBhZGRpbmc9e2NvbnRlbnRQYWRkaW5nfVxuICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgcGxhY2VtZW50PXtwbGFjZW1lbnR9XG4gICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgIGRhdGFFMmVUZXN0SWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBzdWJUaGVtZT17c3ViVGhlbWV9XG4gICAgICBpc1Zpc2libGU9e2lzVmlzaWJsZX1cbiAgICAgIHRvb2x0aXBJZD17dG9vbHRpcElkfVxuICAgICAgdHJpZ2dlclJlZj17dHJpZ2dlclJlZn1cbiAgICAgIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyXG4gICAgLz5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7dHJpZ2dlckVsbX1cbiAgICAgIHt0b29sdGlwRWxtfVxuICAgIDwvPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlEd0IifQ== */"),FocusTrapContent=_react.default.forwardRef(({children},ref)=>_react.default.createElement(StyledContainer,{ref:ref},children)),VisibilityChangeReason={triggerClick:"triggerClick",outsideClick:"outsideClick"};function getAriaPopupType(role){let popupType=String(role);return(role||(popupType="true"),"alertdialog"===role)?"dialog":popupType}function getMobileBreakpoint(renderAsSheetOnMobile){if(!window)return!1;let isMobileInPortrait=window.innerWidth<=_breakpointsjson.default.m.value,isSmallHeight=window.innerHeight<=450,isLandscape=window.matchMedia?.("(orientation: landscape)").matches;return renderAsSheetOnMobile&&(isMobileInPortrait||isLandscape&&isSmallHeight)}function BasePopover({placement="auto",content,children,contentPadding="m",maxWidth,externalTriggerRef,portalContainer,name="Popover",isVisible:isPopoverVisible,dismissOnOutsideClick=!0,"data-e2e-test-id":dataE2eTestId,subTheme,defaultVerticalPlacement,onVisibilityChange,disableInitialFocus=!1,disableReturnFocusToTrigger=!1,renderAsSheetOnMobile=!1,role,sheetProps,...restContentProps}){let tooltipId=(0,_react.useMemo)(()=>`DS${name}_${Math.floor(Date.now()*Math.random())}`,[name]),[isVisible,setVisible]=(0,_react.useState)(isPopoverVisible),[isMobileBreakPoint,setIsMobileBreakpoint]=(0,_react.useState)(getMobileBreakpoint(renderAsSheetOnMobile)),internalTriggerRef=(0,_react.useRef)(null),triggerRef=externalTriggerRef||internalTriggerRef,isOutsideClickOnTrigger=(0,_react.useRef)(!1),ariaAttributes=(0,_ariaAttributes.getAriaAttributes)(restContentProps),toggleVisibility=(0,_react.useCallback)((status,reason)=>{setVisible(status),onVisibilityChange&&onVisibilityChange(status,reason)},[onVisibilityChange]),handleTriggerClick=(0,_react.useCallback)(()=>{isOutsideClickOnTrigger.current?isOutsideClickOnTrigger.current=!1:toggleVisibility(!isVisible,VisibilityChangeReason.triggerClick)},[toggleVisibility,isVisible]),handleClickOutsideDeactivates=(0,_react.useCallback)(evt=>(triggerRef.current&&triggerRef.current.contains(evt.target)&&(isOutsideClickOnTrigger.current=!0),!0),[triggerRef,isOutsideClickOnTrigger]),handlePostDeactivate=(0,_react.useCallback)(()=>{toggleVisibility(!1,isOutsideClickOnTrigger.current?VisibilityChangeReason.triggerClick:VisibilityChangeReason.outsideClick)},[toggleVisibility]);(0,_react.useEffect)(()=>{setVisible(isPopoverVisible)},[isPopoverVisible]),(0,_react.useEffect)(()=>{setIsMobileBreakpoint(getMobileBreakpoint(renderAsSheetOnMobile))},[isVisible,renderAsSheetOnMobile]),(0,_react.useEffect)(()=>{let trigger=triggerRef.current;if(trigger)return trigger.addEventListener("click",handleTriggerClick),()=>{trigger.removeEventListener("click",handleTriggerClick)}},[handleTriggerClick,triggerRef]),(0,_react.useEffect)(()=>{if(externalTriggerRef?.current&&!children){let trigger=externalTriggerRef.current,triggerTabIndex=trigger.getAttribute("tabindex");trigger.setAttribute("tabindex",triggerTabIndex??"0")}},[externalTriggerRef,children]),(0,_react.useEffect)(()=>{if(externalTriggerRef?.current&&!children){let trigger=externalTriggerRef.current;trigger.setAttribute("aria-haspopup",getAriaPopupType(role)),isVisible?(trigger.setAttribute("aria-expanded","true"),trigger.setAttribute("aria-controls",tooltipId)):(trigger.removeAttribute("aria-expanded"),trigger.removeAttribute("aria-controls"))}},[externalTriggerRef,children,role,tooltipId,isVisible]);let triggerElm=children?_react.default.cloneElement(children,{ref:triggerRef,...isVisible&&{"aria-expanded":!0,"aria-controls":tooltipId},tabIndex:children.props.tabIndex??0,"aria-haspopup":getAriaPopupType(role)}):null;if(isMobileBreakPoint){let sheetElm=_react.default.createElement(_Sheet.Sheet,{id:tooltipId,isVisible:isVisible,portalContainer:portalContainer,dismissOnOutsideClick:dismissOnOutsideClick,disableInitialFocus:disableInitialFocus,disableReturnFocusToTrigger:disableReturnFocusToTrigger,onClose:handlePostDeactivate,onClickOutsideDeactivates:handleClickOutsideDeactivates,role:role,...sheetProps??{},...ariaAttributes},content);return _react.default.createElement(_react.default.Fragment,null,triggerElm,sheetElm)}let contentElm=_react.default.createElement(_FocusTrapWrapper.FocusTrapWrapper,{active:isVisible,focusTrapOptions:{clickOutsideDeactivates:dismissOnOutsideClick&&handleClickOutsideDeactivates,allowOutsideClick:!0,escapeDeactivates:!0,fallbackFocus:`#${tooltipId}`,onPostDeactivate:handlePostDeactivate,preventScroll:!0,initialFocus:()=>!disableInitialFocus,returnFocusOnDeactivate:!disableReturnFocusToTrigger}},_react.default.createElement(FocusTrapContent,null,content)),tooltipElm=_react.default.createElement(_TooltipContent.TooltipContent,{...restContentProps,role:role,defaultVerticalPlacement:defaultVerticalPlacement,dataDSId:name,content:contentElm,contentPadding:contentPadding,maxWidth:maxWidth,placement:placement,portalContainer:portalContainer,dataE2eTestId:dataE2eTestId,subTheme:subTheme,isVisible:isVisible,tooltipId:tooltipId,triggerRef:triggerRef,isHiddenOnInvisibleTrigger:!0});return _react.default.createElement(_react.default.Fragment,null,triggerElm,tooltipElm)}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"BasePopover",{enumerable:!0,get:function(){return BasePopover}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_TooltipContent=require("../Tooltip/TooltipContent"),_Sheet=require("../Sheet/Sheet"),_FocusTrapWrapper=require("../../shared/FocusTrapWrapper"),_breakpointsjson=/*#__PURE__*/_interop_require_default._(require("../../web-tokens/_breakpoints.json")),_ariaAttributes=require("../../shared/ariaAttributes"),StyledContainer=(0,_styled.default)("div",{target:"ewmtj1r0",label:"StyledContainer"})(()=>({borderRadius:"inherit"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9nZ2xldGlwL0Jhc2VQb3BvdmVyLnRzeCIsInNvdXJjZXMiOlsic3JjL2NvbXBvbmVudHMvVG9nZ2xldGlwL0Jhc2VQb3BvdmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nICovXG5pbXBvcnQgdHlwZSB7IFJlYWN0RWxlbWVudCwgUHJvcHNXaXRoQ2hpbGRyZW4gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VTdGF0ZSxcbiAgdXNlUmVmLFxuICB1c2VFZmZlY3QsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VNZW1vLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBUb29sdGlwQ29udGVudFByb3BzIH0gZnJvbSBcIi4uL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnRcIjtcbmltcG9ydCB0eXBlIHsgVG9vbHRpcENvbmRpdGlvbmFsUHJvcHMgfSBmcm9tIFwiLi4vVG9vbHRpcC90eXBlc1wiO1xuaW1wb3J0IHsgVG9vbHRpcENvbnRlbnQgfSBmcm9tIFwiLi4vVG9vbHRpcC9Ub29sdGlwQ29udGVudFwiO1xuaW1wb3J0IHR5cGUgeyBQb3B1cFJvbGUgfSBmcm9tIFwiLi4vU2hlZXQvU2hlZXRcIjtcbmltcG9ydCB7IFNoZWV0IH0gZnJvbSBcIi4uL1NoZWV0L1NoZWV0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgYnJlYWtwb2ludHMgZnJvbSBcIi4uLy4uL3dlYi10b2tlbnMvX2JyZWFrcG9pbnRzLmpzb25cIjtcbmltcG9ydCB7IGdldEFyaWFBdHRyaWJ1dGVzIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9hcmlhQXR0cmlidXRlc1wiO1xuXG50eXBlIEJhc2VQcm9wcyA9IFBpY2s8XG4gIFRvb2x0aXBDb250ZW50UHJvcHMsXG4gIHwgXCJwbGFjZW1lbnRcIlxuICB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgfCBcIm1heFdpZHRoXCJcbiAgfCBcImNvbnRlbnRQYWRkaW5nXCJcbiAgfCBcImhpZGVBcnJvd1wiXG4gIHwgXCJzdWJUaGVtZVwiXG4gIHwgXCJkZWZhdWx0VmVydGljYWxQbGFjZW1lbnRcIlxuICB8IFwib25PdmVyZmxvd1ZpZXdwb3J0XCJcbj4gJiB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiAgUG9wb3ZlciBjb250ZW50ICovXG4gIGNvbnRlbnQ6IFJlYWN0RWxlbWVudDtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIC8qKiAgUHJvZ3JhbW1hdGljYWxseSB0b2dnbGUgUG9wb3ZlciB2aXNpYmlsaXR5IHdpdGggdGhpcyBwcm9wICovXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIC8qKiAgQ2FsbGVkIHdoZW4gdG9vbHRpcCBhcHBlYXJzIGFuZCBkaXNhcHBlYXJzICovXG4gIG9uVmlzaWJpbGl0eUNoYW5nZT86IChpc1Zpc2libGU6IGJvb2xlYW4sIHJlYXNvbjogc3RyaW5nKSA9PiB2b2lkO1xuICAvKiogIENvbnRyb2xzIHdoZXRoZXIgQmFzZVBvcG92ZXIgIGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qKiAgT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSBmaXJzdCBmb2N1YWJsZSBpdGVtIHJlY2lldmVzIGZvY3VzICovXG4gIGRpc2FibGVJbml0aWFsRm9jdXM/OiBib29sZWFuO1xuICAvKiogIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgdHJpZ2dlciBzaG91bGQgcmVjZWl2ZSBiYWNrIHRoZSBmb2N1cyBvbiBwb3BvdmVyIGNsb3NlICovXG4gIGRpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcj86IGJvb2xlYW47XG4gIC8qKiAgUmVuZGVyIGFzIHNoZWV0IG9uIG1vYmlsZSB3ZWIgKi9cbiAgcmVuZGVyQXNTaGVldE9uTW9iaWxlPzogYm9vbGVhbjtcbiAgLyoqIFJvbGUgZm9yIGFjY2Vzc2liaWxpdHkgKi9cbiAgcm9sZT86IFBvcHVwUm9sZTtcbiAgLyoqICBQcm9wcyBmb3IgY29uZmlndXJpbmcgdGhlIHNoZWV0IG9uIG1vYmlsZSB3ZWIgKi9cbiAgc2hlZXRQcm9wcz86IHtcbiAgICAvKiogIFNob3cgdGhlIGRhcmsgc2NyaW0gYmFja2Ryb3Agb24gbW9iaWxlIHdlYiB3aGVuIHJlbmRlcmluZyBhcyBTaGVldCAqL1xuICAgIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhc2VQb3BvdmVyUHJvcHMgPSBCYXNlUHJvcHMgJiBUb29sdGlwQ29uZGl0aW9uYWxQcm9wcztcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdigoKSA9PiAoe1xuICBib3JkZXJSYWRpdXM6IFwiaW5oZXJpdFwiLFxufSkpO1xuXG5jb25zdCBGb2N1c1RyYXBDb250ZW50ID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgSFRNTERpdkVsZW1lbnQsXG4gIFByb3BzV2l0aENoaWxkcmVuPHVua25vd24+XG4+KCh7IGNoaWxkcmVuIH0sIHJlZikgPT4gKFxuICA8U3R5bGVkQ29udGFpbmVyIHJlZj17cmVmfT57Y2hpbGRyZW59PC9TdHlsZWRDb250YWluZXI+XG4pKTtcblxuY29uc3QgVmlzaWJpbGl0eUNoYW5nZVJlYXNvbiA9IHtcbiAgdHJpZ2dlckNsaWNrOiBcInRyaWdnZXJDbGlja1wiLFxuICBvdXRzaWRlQ2xpY2s6IFwib3V0c2lkZUNsaWNrXCIsXG59O1xuXG5mdW5jdGlvbiBnZXRBcmlhUG9wdXBUeXBlKHJvbGU6IFBvcHVwUm9sZSB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gIGxldCBwb3B1cFR5cGU6IHN0cmluZyA9IFN0cmluZyhyb2xlKTtcbiAgaWYgKCFyb2xlKSB7XG4gICAgcG9wdXBUeXBlID0gXCJ0cnVlXCI7XG4gIH1cbiAgaWYgKHJvbGUgPT09IFwiYWxlcnRkaWFsb2dcIikge1xuICAgIHJldHVybiBcImRpYWxvZ1wiO1xuICB9XG4gIHJldHVybiBwb3B1cFR5cGU7XG59XG5cbmZ1bmN0aW9uIGdldE1vYmlsZUJyZWFrcG9pbnQocmVuZGVyQXNTaGVldE9uTW9iaWxlOiBib29sZWFuKSB7XG4gIGlmICghd2luZG93KSB7XG4gICAgLy8gVE9ETyB3aW5kb3cgc2hvdWxkIGJlIGV4dHJhY3RlZCBmcm9tIGhvb2sgdXNlV2luZG93XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgbWF4TW9iaWxlSGVpZ2h0SW5MYW5kc2NhcGUgPSA0NTA7IC8vIGlzIDQzMCBmb3IgaXBob25lIHBybyBtYXgsIGJ1dCBsZXQncyBhZGQgMjBweCBmb3IgbmV4dCBnZW5lcmF0aW9uc1xuICBjb25zdCBpc01vYmlsZUluUG9ydHJhaXQgPSB3aW5kb3cuaW5uZXJXaWR0aCA8PSBicmVha3BvaW50cy5tLnZhbHVlO1xuICBjb25zdCBpc1NtYWxsSGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IDw9IG1heE1vYmlsZUhlaWdodEluTGFuZHNjYXBlO1xuICBjb25zdCBpc0xhbmRzY2FwZSA9IHdpbmRvdy5tYXRjaE1lZGlhPy4oXCIob3JpZW50YXRpb246IGxhbmRzY2FwZSlcIikubWF0Y2hlcztcbiAgY29uc3QgaXNNb2JpbGVJbkxhbmRzY2FwZSA9IGlzTGFuZHNjYXBlICYmIGlzU21hbGxIZWlnaHQ7XG5cbiAgcmV0dXJuIHJlbmRlckFzU2hlZXRPbk1vYmlsZSAmJiAoaXNNb2JpbGVJblBvcnRyYWl0IHx8IGlzTW9iaWxlSW5MYW5kc2NhcGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQmFzZVBvcG92ZXIoe1xuICBwbGFjZW1lbnQgPSBcImF1dG9cIixcbiAgY29udGVudCxcbiAgY2hpbGRyZW4sXG4gIGNvbnRlbnRQYWRkaW5nID0gXCJtXCIsXG4gIG1heFdpZHRoLFxuICBleHRlcm5hbFRyaWdnZXJSZWYsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgbmFtZSA9IFwiUG9wb3ZlclwiLFxuICBpc1Zpc2libGU6IGlzUG9wb3ZlclZpc2libGUsXG4gIGRpc21pc3NPbk91dHNpZGVDbGljayA9IHRydWUsXG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICBzdWJUaGVtZSxcbiAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICBvblZpc2liaWxpdHlDaGFuZ2UsXG4gIGRpc2FibGVJbml0aWFsRm9jdXMgPSBmYWxzZSxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyID0gZmFsc2UsXG4gIHJlbmRlckFzU2hlZXRPbk1vYmlsZSA9IGZhbHNlLFxuICByb2xlLFxuICBzaGVldFByb3BzLFxuICAuLi5yZXN0Q29udGVudFByb3BzXG59OiBCYXNlUG9wb3ZlclByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgdG9vbHRpcElkID0gdXNlTWVtbyhcbiAgICAoKSA9PiBgRFMke25hbWV9XyR7TWF0aC5mbG9vcihEYXRlLm5vdygpICogTWF0aC5yYW5kb20oKSl9YCxcbiAgICBbbmFtZV1cbiAgKTtcbiAgY29uc3QgW2lzVmlzaWJsZSwgc2V0VmlzaWJsZV0gPSB1c2VTdGF0ZShpc1BvcG92ZXJWaXNpYmxlKTtcbiAgY29uc3QgW2lzTW9iaWxlQnJlYWtQb2ludCwgc2V0SXNNb2JpbGVCcmVha3BvaW50XSA9IHVzZVN0YXRlKFxuICAgIGdldE1vYmlsZUJyZWFrcG9pbnQocmVuZGVyQXNTaGVldE9uTW9iaWxlKVxuICApO1xuICBjb25zdCBpbnRlcm5hbFRyaWdnZXJSZWYgPSB1c2VSZWY8SFRNTEVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCB0cmlnZ2VyUmVmID0gZXh0ZXJuYWxUcmlnZ2VyUmVmIHx8IGludGVybmFsVHJpZ2dlclJlZjtcbiAgY29uc3QgaXNPdXRzaWRlQ2xpY2tPblRyaWdnZXIgPSB1c2VSZWYoZmFsc2UpO1xuICBjb25zdCBhcmlhQXR0cmlidXRlcyA9IGdldEFyaWFBdHRyaWJ1dGVzKHJlc3RDb250ZW50UHJvcHMpO1xuXG4gIGNvbnN0IHRvZ2dsZVZpc2liaWxpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAoc3RhdHVzOiBib29sZWFuLCByZWFzb246IHN0cmluZykgPT4ge1xuICAgICAgc2V0VmlzaWJsZShzdGF0dXMpO1xuXG4gICAgICBpZiAob25WaXNpYmlsaXR5Q2hhbmdlKSB7XG4gICAgICAgIG9uVmlzaWJpbGl0eUNoYW5nZShzdGF0dXMsIHJlYXNvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25WaXNpYmlsaXR5Q2hhbmdlXVxuICApO1xuXG4gIC8vIE91dHNpZGUgY2xpY2sgaXMgYWxzbyBmaXJlZCB3aGVuIHRoZSBQb3BvdmVyIGlzIG9wZW4gYW5kIHRyaWdnZXIgaXMgY2xpY2tlZC4gYGlzT3V0c2lkZUNsaWNrT25UcmlnZ2VyYCBzYXZlcyB0aGlzIGNvbmRpdGlvbiBhbmQgd2UgY2hlY2sgZm9yIGl0IHNvIGFzIHRvIG5vdCB0b2dnbGUgdGhlIFBvcG92ZXIgdHdpY2UuXG4gIGNvbnN0IGhhbmRsZVRyaWdnZXJDbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoIWlzT3V0c2lkZUNsaWNrT25UcmlnZ2VyLmN1cnJlbnQpIHtcbiAgICAgIHRvZ2dsZVZpc2liaWxpdHkoIWlzVmlzaWJsZSwgVmlzaWJpbGl0eUNoYW5nZVJlYXNvbi50cmlnZ2VyQ2xpY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyByZXNldCB0aGlzIHZhbHVlIHNvIHRoYXQgUG9wb3ZlciBjYW4gb3BlbiBpbiBuZXh0IGNsaWNrXG4gICAgICBpc091dHNpZGVDbGlja09uVHJpZ2dlci5jdXJyZW50ID0gZmFsc2U7XG4gICAgfVxuICB9LCBbdG9nZ2xlVmlzaWJpbGl0eSwgaXNWaXNpYmxlXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXMgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZ0OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHRyaWdnZXJSZWYuY3VycmVudCAmJlxuICAgICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKVxuICAgICAgKSB7XG4gICAgICAgIGlzT3V0c2lkZUNsaWNrT25UcmlnZ2VyLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBbdHJpZ2dlclJlZiwgaXNPdXRzaWRlQ2xpY2tPblRyaWdnZXJdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlUG9zdERlYWN0aXZhdGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgcmVhc29uID0gaXNPdXRzaWRlQ2xpY2tPblRyaWdnZXIuY3VycmVudFxuICAgICAgPyBWaXNpYmlsaXR5Q2hhbmdlUmVhc29uLnRyaWdnZXJDbGlja1xuICAgICAgOiBWaXNpYmlsaXR5Q2hhbmdlUmVhc29uLm91dHNpZGVDbGljaztcblxuICAgIHRvZ2dsZVZpc2liaWxpdHkoZmFsc2UsIHJlYXNvbik7XG4gIH0sIFt0b2dnbGVWaXNpYmlsaXR5XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRWaXNpYmxlKGlzUG9wb3ZlclZpc2libGUpO1xuICB9LCBbaXNQb3BvdmVyVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIG1vYmlsZSBicmVha3BvaW50XG4gICAgc2V0SXNNb2JpbGVCcmVha3BvaW50KGdldE1vYmlsZUJyZWFrcG9pbnQocmVuZGVyQXNTaGVldE9uTW9iaWxlKSk7XG4gIH0sIFtpc1Zpc2libGUsIHJlbmRlckFzU2hlZXRPbk1vYmlsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdHJpZ2dlciA9IHRyaWdnZXJSZWYuY3VycmVudDtcbiAgICBpZiAoIXRyaWdnZXIpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBoYW5kbGVUcmlnZ2VyQ2xpY2spO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRyaWdnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZVRyaWdnZXJDbGljayk7XG4gICAgfTtcbiAgfSwgW2hhbmRsZVRyaWdnZXJDbGljaywgdHJpZ2dlclJlZl0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGV4dGVybmFsVHJpZ2dlclJlZj8uY3VycmVudCAmJiAhY2hpbGRyZW4pIHtcbiAgICAgIGNvbnN0IHRyaWdnZXIgPSBleHRlcm5hbFRyaWdnZXJSZWYuY3VycmVudDtcbiAgICAgIGNvbnN0IHRyaWdnZXJUYWJJbmRleCA9IHRyaWdnZXIuZ2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIik7XG5cbiAgICAgIHRyaWdnZXIuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgdHJpZ2dlclRhYkluZGV4ID8/IFwiMFwiKTtcbiAgICB9XG4gIH0sIFtleHRlcm5hbFRyaWdnZXJSZWYsIGNoaWxkcmVuXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZXh0ZXJuYWxUcmlnZ2VyUmVmPy5jdXJyZW50ICYmICFjaGlsZHJlbikge1xuICAgICAgY29uc3QgdHJpZ2dlciA9IGV4dGVybmFsVHJpZ2dlclJlZi5jdXJyZW50O1xuXG4gICAgICB0cmlnZ2VyLnNldEF0dHJpYnV0ZShcImFyaWEtaGFzcG9wdXBcIiwgZ2V0QXJpYVBvcHVwVHlwZShyb2xlKSk7XG4gICAgICB0cmlnZ2VyLnNldEF0dHJpYnV0ZShcImFyaWEtZXhwYW5kZWRcIiwgU3RyaW5nKCEhaXNWaXNpYmxlKSk7XG4gICAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICAgIHRyaWdnZXIuc2V0QXR0cmlidXRlKFwiYXJpYS1jb250cm9sc1wiLCB0b29sdGlwSWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWNvbnRyb2xzXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2V4dGVybmFsVHJpZ2dlclJlZiwgY2hpbGRyZW4sIHJvbGUsIHRvb2x0aXBJZCwgaXNWaXNpYmxlXSk7XG5cbiAgY29uc3QgdHJpZ2dlckVsbSA9IGNoaWxkcmVuXG4gICAgPyBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGRyZW4sIHtcbiAgICAgICAgcmVmOiB0cmlnZ2VyUmVmLFxuICAgICAgICBcImFyaWEtZXhwYW5kZWRcIjogISFpc1Zpc2libGUsXG4gICAgICAgIC4uLihpc1Zpc2libGUgJiYge1xuICAgICAgICAgIFwiYXJpYS1jb250cm9sc1wiOiB0b29sdGlwSWQsXG4gICAgICAgIH0pLFxuICAgICAgICB0YWJJbmRleDogY2hpbGRyZW4ucHJvcHMudGFiSW5kZXggPz8gMCxcbiAgICAgICAgXCJhcmlhLWhhc3BvcHVwXCI6IGdldEFyaWFQb3B1cFR5cGUocm9sZSksXG4gICAgICB9KVxuICAgIDogbnVsbDtcblxuICBpZiAoaXNNb2JpbGVCcmVha1BvaW50KSB7XG4gICAgLy8gcmVuZGVyIGFzIFNoZWV0XG4gICAgY29uc3Qgc2hlZXRFbG0gPSAoXG4gICAgICA8U2hlZXRcbiAgICAgICAgaWQ9e3Rvb2x0aXBJZH1cbiAgICAgICAgaXNWaXNpYmxlPXtpc1Zpc2libGV9XG4gICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICBkaXNtaXNzT25PdXRzaWRlQ2xpY2s9e2Rpc21pc3NPbk91dHNpZGVDbGlja31cbiAgICAgICAgZGlzYWJsZUluaXRpYWxGb2N1cz17ZGlzYWJsZUluaXRpYWxGb2N1c31cbiAgICAgICAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyPXtkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXJ9XG4gICAgICAgIG9uQ2xvc2U9e2hhbmRsZVBvc3REZWFjdGl2YXRlfVxuICAgICAgICBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzPXtoYW5kbGVDbGlja091dHNpZGVEZWFjdGl2YXRlc31cbiAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgey4uLihzaGVldFByb3BzID8/IHt9KX1cbiAgICAgICAgey4uLmFyaWFBdHRyaWJ1dGVzfVxuICAgICAgPlxuICAgICAgICB7Y29udGVudH1cbiAgICAgIDwvU2hlZXQ+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7dHJpZ2dlckVsbX1cbiAgICAgICAge3NoZWV0RWxtfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG4gIC8vIHJlbmRlciBhcyBQb3BvdmVyXG4gIGNvbnN0IGNvbnRlbnRFbG0gPSAoXG4gICAgPEZvY3VzVHJhcFdyYXBwZXJcbiAgICAgIGFjdGl2ZT17aXNWaXNpYmxlfVxuICAgICAgZm9jdXNUcmFwT3B0aW9ucz17e1xuICAgICAgICBjbGlja091dHNpZGVEZWFjdGl2YXRlczpcbiAgICAgICAgICBkaXNtaXNzT25PdXRzaWRlQ2xpY2sgJiYgaGFuZGxlQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXMsIC8vIGRlLWFjdGl2YXRlIGZvY3VzIHRyYXAgb24gb3V0c2lkZSBjbGlja1xuICAgICAgICBhbGxvd091dHNpZGVDbGljazogdHJ1ZSxcbiAgICAgICAgZXNjYXBlRGVhY3RpdmF0ZXM6IHRydWUsXG4gICAgICAgIGZhbGxiYWNrRm9jdXM6IGAjJHt0b29sdGlwSWR9YCwgLy8gc2V0IGZvY3VzIHRvIHRvb2x0aXAgY29udGVudCBjb250YWluZXIgaWYgaXQgaGFzIG5vIGZvY3VzYWJsZSBlbGVtZW50XG4gICAgICAgIG9uUG9zdERlYWN0aXZhdGU6IGhhbmRsZVBvc3REZWFjdGl2YXRlLFxuICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICBpbml0aWFsRm9jdXM6ICgpID0+ICFkaXNhYmxlSW5pdGlhbEZvY3VzLFxuICAgICAgICByZXR1cm5Gb2N1c09uRGVhY3RpdmF0ZTogIWRpc2FibGVSZXR1cm5Gb2N1c1RvVHJpZ2dlcixcbiAgICAgIH19XG4gICAgPlxuICAgICAgPEZvY3VzVHJhcENvbnRlbnQ+e2NvbnRlbnR9PC9Gb2N1c1RyYXBDb250ZW50PlxuICAgIDwvRm9jdXNUcmFwV3JhcHBlcj5cbiAgKTtcblxuICBjb25zdCB0b29sdGlwRWxtID0gKFxuICAgIDxUb29sdGlwQ29udGVudFxuICAgICAgey4uLnJlc3RDb250ZW50UHJvcHN9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICAgICAgcm9sZT17cm9sZX1cbiAgICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudD17ZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgZGF0YURTSWQ9e25hbWV9XG4gICAgICBjb250ZW50PXtjb250ZW50RWxtfVxuICAgICAgY29udGVudFBhZGRpbmc9e2NvbnRlbnRQYWRkaW5nfVxuICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgcGxhY2VtZW50PXtwbGFjZW1lbnR9XG4gICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgIGRhdGFFMmVUZXN0SWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICBzdWJUaGVtZT17c3ViVGhlbWV9XG4gICAgICBpc1Zpc2libGU9e2lzVmlzaWJsZX1cbiAgICAgIHRvb2x0aXBJZD17dG9vbHRpcElkfVxuICAgICAgdHJpZ2dlclJlZj17dHJpZ2dlclJlZn1cbiAgICAgIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyXG4gICAgLz5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7dHJpZ2dlckVsbX1cbiAgICAgIHt0b29sdGlwRWxtfVxuICAgIDwvPlxuICApO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlEd0IifQ== */"),FocusTrapContent=_react.default.forwardRef(({children},ref)=>_react.default.createElement(StyledContainer,{ref:ref},children)),VisibilityChangeReason={triggerClick:"triggerClick",outsideClick:"outsideClick"};function getAriaPopupType(role){let popupType=String(role);return(role||(popupType="true"),"alertdialog"===role)?"dialog":popupType}function getMobileBreakpoint(renderAsSheetOnMobile){if(!window)return!1;let isMobileInPortrait=window.innerWidth<=_breakpointsjson.default.m.value,isSmallHeight=window.innerHeight<=450,isLandscape=window.matchMedia?.("(orientation: landscape)").matches;return renderAsSheetOnMobile&&(isMobileInPortrait||isLandscape&&isSmallHeight)}function BasePopover({placement="auto",content,children,contentPadding="m",maxWidth,externalTriggerRef,portalContainer,name="Popover",isVisible:isPopoverVisible,dismissOnOutsideClick=!0,"data-e2e-test-id":dataE2eTestId,subTheme,defaultVerticalPlacement,onVisibilityChange,disableInitialFocus=!1,disableReturnFocusToTrigger=!1,renderAsSheetOnMobile=!1,role,sheetProps,...restContentProps}){let tooltipId=(0,_react.useMemo)(()=>`DS${name}_${Math.floor(Date.now()*Math.random())}`,[name]),[isVisible,setVisible]=(0,_react.useState)(isPopoverVisible),[isMobileBreakPoint,setIsMobileBreakpoint]=(0,_react.useState)(getMobileBreakpoint(renderAsSheetOnMobile)),internalTriggerRef=(0,_react.useRef)(null),triggerRef=externalTriggerRef||internalTriggerRef,isOutsideClickOnTrigger=(0,_react.useRef)(!1),ariaAttributes=(0,_ariaAttributes.getAriaAttributes)(restContentProps),toggleVisibility=(0,_react.useCallback)((status,reason)=>{setVisible(status),onVisibilityChange&&onVisibilityChange(status,reason)},[onVisibilityChange]),handleTriggerClick=(0,_react.useCallback)(()=>{isOutsideClickOnTrigger.current?isOutsideClickOnTrigger.current=!1:toggleVisibility(!isVisible,VisibilityChangeReason.triggerClick)},[toggleVisibility,isVisible]),handleClickOutsideDeactivates=(0,_react.useCallback)(evt=>(triggerRef.current&&triggerRef.current.contains(evt.target)&&(isOutsideClickOnTrigger.current=!0),!0),[triggerRef,isOutsideClickOnTrigger]),handlePostDeactivate=(0,_react.useCallback)(()=>{toggleVisibility(!1,isOutsideClickOnTrigger.current?VisibilityChangeReason.triggerClick:VisibilityChangeReason.outsideClick)},[toggleVisibility]);(0,_react.useEffect)(()=>{setVisible(isPopoverVisible)},[isPopoverVisible]),(0,_react.useEffect)(()=>{setIsMobileBreakpoint(getMobileBreakpoint(renderAsSheetOnMobile))},[isVisible,renderAsSheetOnMobile]),(0,_react.useEffect)(()=>{let trigger=triggerRef.current;if(trigger)return trigger.addEventListener("click",handleTriggerClick),()=>{trigger.removeEventListener("click",handleTriggerClick)}},[handleTriggerClick,triggerRef]),(0,_react.useEffect)(()=>{if(externalTriggerRef?.current&&!children){let trigger=externalTriggerRef.current,triggerTabIndex=trigger.getAttribute("tabindex");trigger.setAttribute("tabindex",triggerTabIndex??"0")}},[externalTriggerRef,children]),(0,_react.useEffect)(()=>{if(externalTriggerRef?.current&&!children){let trigger=externalTriggerRef.current;trigger.setAttribute("aria-haspopup",getAriaPopupType(role)),trigger.setAttribute("aria-expanded",String(!!isVisible)),isVisible?trigger.setAttribute("aria-controls",tooltipId):trigger.removeAttribute("aria-controls")}},[externalTriggerRef,children,role,tooltipId,isVisible]);let triggerElm=children?_react.default.cloneElement(children,{ref:triggerRef,"aria-expanded":!!isVisible,...isVisible&&{"aria-controls":tooltipId},tabIndex:children.props.tabIndex??0,"aria-haspopup":getAriaPopupType(role)}):null;if(isMobileBreakPoint){let sheetElm=_react.default.createElement(_Sheet.Sheet,{id:tooltipId,isVisible:isVisible,portalContainer:portalContainer,dismissOnOutsideClick:dismissOnOutsideClick,disableInitialFocus:disableInitialFocus,disableReturnFocusToTrigger:disableReturnFocusToTrigger,onClose:handlePostDeactivate,onClickOutsideDeactivates:handleClickOutsideDeactivates,role:role,...sheetProps??{},...ariaAttributes},content);return _react.default.createElement(_react.default.Fragment,null,triggerElm,sheetElm)}let contentElm=_react.default.createElement(_FocusTrapWrapper.FocusTrapWrapper,{active:isVisible,focusTrapOptions:{clickOutsideDeactivates:dismissOnOutsideClick&&handleClickOutsideDeactivates,allowOutsideClick:!0,escapeDeactivates:!0,fallbackFocus:`#${tooltipId}`,onPostDeactivate:handlePostDeactivate,preventScroll:!0,initialFocus:()=>!disableInitialFocus,returnFocusOnDeactivate:!disableReturnFocusToTrigger}},_react.default.createElement(FocusTrapContent,null,content)),tooltipElm=_react.default.createElement(_TooltipContent.TooltipContent,{...restContentProps,role:role,defaultVerticalPlacement:defaultVerticalPlacement,dataDSId:name,content:contentElm,contentPadding:contentPadding,maxWidth:maxWidth,placement:placement,portalContainer:portalContainer,dataE2eTestId:dataE2eTestId,subTheme:subTheme,isVisible:isVisible,tooltipId:tooltipId,triggerRef:triggerRef,isHiddenOnInvisibleTrigger:!0});return _react.default.createElement(_react.default.Fragment,null,triggerElm,tooltipElm)}
@@ -4,6 +4,7 @@ import { type BadgeProps } from "../Badge/Badge";
4
4
  import { type ButtonProps } from "../Button/Button";
5
5
  import { type IconProps } from "../Icon/Icon";
6
6
  export type ActionButton = ButtonProps & {
7
+ "aria-label"?: string;
7
8
  label: string;
8
9
  href?: string;
9
10
  target?: string;
@@ -1,3 +1,3 @@
1
1
  import React from "react";
2
2
  import type { EntityListProps } from "./types";
3
- export declare function BaseEntityList({ data, size, onClick, isSelectable, selectedIds, onSelectionChange, onSelectionToggle, renderRightContent, getLeftIconProps, hideBorder, filterFn, isVirtualized, maxHeight, ariaAttributes: deprecatedAriaAttributes, slotProps, "data-e2e-test-id": dataE2eTestId, ...ariaAttributes }: EntityListProps): React.ReactElement;
3
+ export declare function BaseEntityList({ data, size, onClick, isSelectable, selectedIds, onSelectionChange, onSelectionToggle, renderRightContent, getLeftIconProps, hideBorder, filterFn, isVirtualized, maxHeight, ariaAttributes: deprecatedAriaAttributes, slotProps, role: roleProp, "data-e2e-test-id": dataE2eTestId, ...ariaAttributes }: EntityListProps): React.ReactElement;
@@ -1 +1 @@
1
- import React,{useRef,useMemo,useCallback}from"react";import styled from"@emotion/styled";import{StyledList}from"./styled-components";import{useKeyboard}from"../../shared/useKeyboard";import{Icon}from"../Icon/Icon";import{EntityListItem}from"./EntityListItem";import{VirtualizedEntityList}from"./VirtualizedEntityList";import{useFocusByIndex}from"./useFocusByIndex";let StyledMinHeightCell=styled("div",{target:"e18an0wv0",label:"StyledMinHeightCell"})(({theme,textSize})=>({minHeight:"s"===textSize?`calc(${theme.variables.size.spacing.m} + ${theme.variables.size.spacing.xxs})`:theme.variables.size.spacing.l,display:"flex",alignItems:"center"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRW50aXR5TGlzdC9CYXNlRW50aXR5TGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0VudGl0eUxpc3QvQmFzZUVudGl0eUxpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VSZWYsIHVzZU1lbW8sIHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IFN0eWxlZExpc3QgfSBmcm9tIFwiLi9zdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHR5cGUgeyBFbnRpdHlMaXN0UHJvcHMsIExpc3ROb2RlLCBUZXh0U2l6ZVByb3BzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IHVzZUtleWJvYXJkIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VLZXlib2FyZFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCIuLi9JY29uL0ljb25cIjtcbmltcG9ydCB7IEVudGl0eUxpc3RJdGVtIH0gZnJvbSBcIi4vRW50aXR5TGlzdEl0ZW1cIjtcbmltcG9ydCB7IFZpcnR1YWxpemVkRW50aXR5TGlzdCB9IGZyb20gXCIuL1ZpcnR1YWxpemVkRW50aXR5TGlzdFwiO1xuaW1wb3J0IHsgdXNlRm9jdXNCeUluZGV4IH0gZnJvbSBcIi4vdXNlRm9jdXNCeUluZGV4XCI7XG5cbi8vIFRoaXMgbWluSGVpZ2h0IGlzIG5lZWRlZCBmb3IgYWxpZ24gc21hbGwgaWNvbnMgaW4gdGhlIG1pZGRsZSBvZiAxIHJvdyB0ZXh0LFxuLy8gYnV0IGl0IHNob3VsZCBzdGF5IGF0IHRoZSB0b3AgaWYgdGhlcmUgaXMgbXVsdGlsaW5lIHRleHRcbmNvbnN0IFN0eWxlZE1pbkhlaWdodENlbGwgPSBzdHlsZWQuZGl2PFRleHRTaXplUHJvcHM+KFxuICAoeyB0aGVtZSwgdGV4dFNpemUgfSkgPT4gKHtcbiAgICBtaW5IZWlnaHQ6XG4gICAgICB0ZXh0U2l6ZSA9PT0gXCJzXCJcbiAgICAgICAgPyBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubX0gKyAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhzfSlgXG4gICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gQmFzZUVudGl0eUxpc3Qoe1xuICBkYXRhLFxuICBzaXplID0gXCJtXCIsXG4gIG9uQ2xpY2ssXG4gIGlzU2VsZWN0YWJsZSxcbiAgc2VsZWN0ZWRJZHMsXG4gIG9uU2VsZWN0aW9uQ2hhbmdlLFxuICBvblNlbGVjdGlvblRvZ2dsZSxcbiAgcmVuZGVyUmlnaHRDb250ZW50LFxuICBnZXRMZWZ0SWNvblByb3BzLFxuICBoaWRlQm9yZGVyLFxuICBmaWx0ZXJGbixcbiAgaXNWaXJ0dWFsaXplZCxcbiAgbWF4SGVpZ2h0LFxuICBhcmlhQXR0cmlidXRlczogZGVwcmVjYXRlZEFyaWFBdHRyaWJ1dGVzLFxuICBzbG90UHJvcHMsXG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICAuLi5hcmlhQXR0cmlidXRlc1xufTogRW50aXR5TGlzdFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgYXJpYUxhYmVsRXhwYW5kID1cbiAgICBzbG90UHJvcHM/LnRvZ2dsZT8uW1wiYXJpYS1sYWJlbC1leHBhbmRcIl0gPz9cbiAgICBkZXByZWNhdGVkQXJpYUF0dHJpYnV0ZXM/LmFyaWFMYWJlbEV4cGFuZDtcbiAgY29uc3QgYXJpYUxhYmVsQ29sbGFwc2UgPVxuICAgIHNsb3RQcm9wcz8udG9nZ2xlPy5bXCJhcmlhLWxhYmVsLWNvbGxhcHNlXCJdID8/XG4gICAgZGVwcmVjYXRlZEFyaWFBdHRyaWJ1dGVzPy5hcmlhTGFiZWxDb2xsYXBzZTtcblxuICBjb25zdCBkYXRhU2hvd24gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIWRhdGEubGVuZ3RoKSByZXR1cm4gZGF0YTtcblxuICAgIHJldHVybiBmaWx0ZXJGbiA/IGRhdGEuZmlsdGVyKGZpbHRlckZuKSA6IGRhdGE7XG4gIH0sIFtkYXRhLCBmaWx0ZXJGbl0pO1xuXG4gIGNvbnN0IHNlbGVjdGVkSWRzU2V0ID0gdXNlTWVtbygoKSA9PiBuZXcgU2V0KHNlbGVjdGVkSWRzKSwgW3NlbGVjdGVkSWRzXSk7XG5cbiAgY29uc3QgbGlzdFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgZm9jdXNhYmxlSXRlbXMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBkYXRhU2hvd24ubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgaXNEaXNhYmxlZDogQm9vbGVhbihpdGVtLmlzRGlzYWJsZWQpLFxuICAgICAgfSkpLFxuICAgIFtkYXRhU2hvd25dXG4gICk7XG5cbiAgY29uc3QgeyBtb3ZlRm9jdXMsIGZvY3VzZWRJbmRleDogc2VsZWN0ZWRJbmRleCB9ID0gdXNlRm9jdXNCeUluZGV4KHtcbiAgICBjb250YWluZXJSZWY6IGxpc3RSZWYsXG4gICAgbm9kZVNlbGVjdG9yOiBcImRhdGEtbGlzdC1pdGVtXCIsXG4gICAgZGF0YTogZm9jdXNhYmxlSXRlbXMsXG4gICAgcHJldmVudFNjcm9sbDogaXNWaXJ0dWFsaXplZCxcbiAgfSk7XG5cbiAgdXNlS2V5Ym9hcmQoXG4gICAge1xuICAgICAgQXJyb3dEb3duOiAoKSA9PiB7XG4gICAgICAgIG1vdmVGb2N1cygxKTtcbiAgICAgIH0sXG4gICAgICBBcnJvd1VwOiAoKSA9PiB7XG4gICAgICAgIG1vdmVGb2N1cygtMSk7XG4gICAgICB9LFxuICAgIH0sXG4gICAgbGlzdFJlZixcbiAgICBpc1NlbGVjdGFibGVcbiAgKTtcbiAgY29uc3QgaGFuZGxlT25DbGljayA9IHVzZUNhbGxiYWNrKFxuICAgIChpdGVtOiBMaXN0Tm9kZSkgPT4ge1xuICAgICAgY29uc3QgeyBpZCB9ID0gaXRlbTtcblxuICAgICAgaWYgKGlzU2VsZWN0YWJsZSkge1xuICAgICAgICBjb25zdCB3aWxsQmVTZWxlY3RlZCA9ICFzZWxlY3RlZElkc1NldC5oYXMoaWQpO1xuICAgICAgICBjb25zdCBuZXdTZWxlY3RlZElkc1NldCA9IG5ldyBTZXQoc2VsZWN0ZWRJZHNTZXQpO1xuXG4gICAgICAgIGlmICh3aWxsQmVTZWxlY3RlZCkge1xuICAgICAgICAgIG5ld1NlbGVjdGVkSWRzU2V0LmFkZChpZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3U2VsZWN0ZWRJZHNTZXQuZGVsZXRlKGlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG9uU2VsZWN0aW9uVG9nZ2xlPy4oaWQsIHdpbGxCZVNlbGVjdGVkKTtcbiAgICAgICAgb25TZWxlY3Rpb25DaGFuZ2U/LihBcnJheS5mcm9tKG5ld1NlbGVjdGVkSWRzU2V0KSk7XG4gICAgICB9XG5cbiAgICAgIG9uQ2xpY2s/LihpdGVtKTtcbiAgICB9LFxuICAgIFtcbiAgICAgIHNlbGVjdGVkSWRzU2V0LFxuICAgICAgb25TZWxlY3Rpb25DaGFuZ2UsXG4gICAgICBvblNlbGVjdGlvblRvZ2dsZSxcbiAgICAgIG9uQ2xpY2ssXG4gICAgICBpc1NlbGVjdGFibGUsXG4gICAgXVxuICApO1xuICBjb25zdCByZW5kZXJFbnRpdHlJdGVtID0gKGluZGV4OiBudW1iZXIpOiBSZWFjdC5SZWFjdE5vZGUgPT4ge1xuICAgIGNvbnN0IGl0ZW0gPSBkYXRhU2hvd25baW5kZXhdO1xuICAgIGlmICghaXRlbSkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBpc0xhc3RJdGVtID0gaW5kZXggPT09IGRhdGFTaG93bi5sZW5ndGggLSAxO1xuICAgIGNvbnN0IGlzRmlyc3RJdGVtID0gaW5kZXggPT09IDA7XG4gICAgY29uc3QgZGVmYXVsdFRhYkluZGV4ID0gaXNGaXJzdEl0ZW0gJiYgIXNlbGVjdGVkSW5kZXg7XG4gICAgY29uc3QgdGFiSW5kZXggPVxuICAgICAgIWl0ZW0uaXNEaXNhYmxlZCAmJlxuICAgICAgaXNTZWxlY3RhYmxlICYmXG4gICAgICAoaW5kZXggPT09IHNlbGVjdGVkSW5kZXggfHwgZGVmYXVsdFRhYkluZGV4KVxuICAgICAgICA/IDBcbiAgICAgICAgOiAtMTtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gc2VsZWN0ZWRJZHNTZXQuaGFzKGl0ZW0uaWQpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxFbnRpdHlMaXN0SXRlbVxuICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgIGRhdGEtbGlzdC1pdGVtPXtpbmRleH1cbiAgICAgICAgYXJpYS1sYWJlbD17aXRlbVtcImFyaWEtbGFiZWxcIl0gfHwgaXRlbS5sYWJlbH1cbiAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgaGlkZUJvcmRlcj17aGlkZUJvcmRlciB8fCBpc0xhc3RJdGVtfVxuICAgICAgICBpc0FjdGl2ZT17aXRlbS5pc0FjdGl2ZX1cbiAgICAgICAgaXNEaXNhYmxlZD17aXRlbS5pc0Rpc2FibGVkfVxuICAgICAgICBpc0NsaWNrYWJsZT17Qm9vbGVhbihvbkNsaWNrIHx8IHNlbGVjdGVkSWRzKX1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RhYmxlID8gaXNTZWxlY3RlZCA6IHVuZGVmaW5lZH1cbiAgICAgICAgZGVzY3JpcHRpb249e2l0ZW0uZGVzY3JpcHRpb259XG4gICAgICAgIG9uU3BhY2VFbnRlclByZXNzPXsoKSA9PiBoYW5kbGVPbkNsaWNrKGl0ZW0pfVxuICAgICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICAgIGFyaWFMYWJlbEV4cGFuZD17YXJpYUxhYmVsRXhwYW5kfVxuICAgICAgICBhcmlhTGFiZWxDb2xsYXBzZT17YXJpYUxhYmVsQ29sbGFwc2V9XG4gICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgY29uc3QgaXNJbnNpZGVMYWJlbCA9IChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdChcImxhYmVsXCIpO1xuICAgICAgICAgIGlmICghaXNJbnNpZGVMYWJlbCkge1xuICAgICAgICAgICAgaGFuZGxlT25DbGljayhpdGVtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIGNoZWNrYm94UHJvcHM9e1xuICAgICAgICAgIGlzU2VsZWN0YWJsZSAmJiB7XG4gICAgICAgICAgICBuYW1lOiBcImxpc3QtY2hlY2tib3hcIixcbiAgICAgICAgICAgIHNpemU6IFwic1wiLFxuICAgICAgICAgICAgY2hlY2tlZDogaXNTZWxlY3RlZCxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiAoKSA9PiBoYW5kbGVPbkNsaWNrKGl0ZW0pLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZW5kZXJMYWJlbD17KCkgPT4gaXRlbS5sYWJlbH1cbiAgICAgICAgcmVuZGVyTGVmdD17XG4gICAgICAgICAgZ2V0TGVmdEljb25Qcm9wc1xuICAgICAgICAgICAgPyAoeyB0ZXh0U2l6ZSB9KSA9PiAoXG4gICAgICAgICAgICAgICAgPEljb24gey4uLmdldExlZnRJY29uUHJvcHMoaXRlbSl9IHNpemU9e3RleHRTaXplfSAvPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IG51bGxcbiAgICAgICAgfVxuICAgICAgICByZW5kZXJSaWdodD17KHsgYWN0aW9uU2l6ZSwgdGV4dFNpemUgfSkgPT5cbiAgICAgICAgICByZW5kZXJSaWdodENvbnRlbnQgPyAoXG4gICAgICAgICAgICA8U3R5bGVkTWluSGVpZ2h0Q2VsbCB0ZXh0U2l6ZT17dGV4dFNpemV9PlxuICAgICAgICAgICAgICB7cmVuZGVyUmlnaHRDb250ZW50KHsgdGV4dFNpemUsIGFjdGlvblNpemUsIC4uLml0ZW0gfSl9XG4gICAgICAgICAgICA8L1N0eWxlZE1pbkhlaWdodENlbGw+XG4gICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgfVxuICAgICAgLz5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiByZWY9e2xpc3RSZWZ9PlxuICAgICAge2lzVmlydHVhbGl6ZWQgJiYgbWF4SGVpZ2h0ID8gKFxuICAgICAgICA8VmlydHVhbGl6ZWRFbnRpdHlMaXN0XG4gICAgICAgICAgaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICBkYXRhU2hvd249e2RhdGFTaG93bn1cbiAgICAgICAgICBzZWxlY3RlZEluZGV4PXtzZWxlY3RlZEluZGV4fVxuICAgICAgICAgIGl0ZW1UZW1wbGF0ZT17cmVuZGVyRW50aXR5SXRlbX1cbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIHJvbGU9e2lzU2VsZWN0YWJsZSA/IFwibGlzdGJveFwiIDogXCJsaXN0XCJ9XG4gICAgICAgICAgYXJpYS1tdWx0aXNlbGVjdGFibGU9e2lzU2VsZWN0YWJsZSA/IHRydWUgOiB1bmRlZmluZWR9XG4gICAgICAgICAgey4uLmFyaWFBdHRyaWJ1dGVzfVxuICAgICAgICAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPFN0eWxlZExpc3RcbiAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIkVudGl0eUxpc3RcIlxuICAgICAgICAgIHsuLi5hcmlhQXR0cmlidXRlc31cbiAgICAgICAgICByb2xlPXtpc1NlbGVjdGFibGUgPyBcImxpc3Rib3hcIiA6IFwibGlzdFwifVxuICAgICAgICAgIGFyaWEtbXVsdGlzZWxlY3RhYmxlPXtpc1NlbGVjdGFibGUgPyB0cnVlIDogdW5kZWZpbmVkfVxuICAgICAgICA+XG4gICAgICAgICAge2RhdGFTaG93bi5tYXAoKF9pdGVtLCBpKSA9PiByZW5kZXJFbnRpdHlJdGVtKGkpKX1cbiAgICAgICAgPC9TdHlsZWRMaXN0PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZNEIifQ== */");export function BaseEntityList({data,size="m",onClick,isSelectable,selectedIds,onSelectionChange,onSelectionToggle,renderRightContent,getLeftIconProps,hideBorder,filterFn,isVirtualized,maxHeight,ariaAttributes:deprecatedAriaAttributes,slotProps,"data-e2e-test-id":dataE2eTestId,...ariaAttributes}){let ariaLabelExpand=slotProps?.toggle?.["aria-label-expand"]??deprecatedAriaAttributes?.ariaLabelExpand,ariaLabelCollapse=slotProps?.toggle?.["aria-label-collapse"]??deprecatedAriaAttributes?.ariaLabelCollapse,dataShown=useMemo(()=>data.length&&filterFn?data.filter(filterFn):data,[data,filterFn]),selectedIdsSet=useMemo(()=>new Set(selectedIds),[selectedIds]),listRef=useRef(null),{moveFocus,focusedIndex:selectedIndex}=useFocusByIndex({containerRef:listRef,nodeSelector:"data-list-item",data:useMemo(()=>dataShown.map(item=>({id:item.id,isDisabled:!!item.isDisabled})),[dataShown]),preventScroll:isVirtualized});useKeyboard({ArrowDown:()=>{moveFocus(1)},ArrowUp:()=>{moveFocus(-1)}},listRef,isSelectable);let handleOnClick=useCallback(item=>{let{id}=item;if(isSelectable){let willBeSelected=!selectedIdsSet.has(id),newSelectedIdsSet=new Set(selectedIdsSet);willBeSelected?newSelectedIdsSet.add(id):newSelectedIdsSet.delete(id),onSelectionToggle?.(id,willBeSelected),onSelectionChange?.(Array.from(newSelectedIdsSet))}onClick?.(item)},[selectedIdsSet,onSelectionChange,onSelectionToggle,onClick,isSelectable]),renderEntityItem=index=>{let item=dataShown[index];if(!item)return null;let isLastItem=index===dataShown.length-1,tabIndex=item.isDisabled||!isSelectable||index!==selectedIndex&&(0!==index||selectedIndex)?-1:0,isSelected=selectedIdsSet.has(item.id);return React.createElement(EntityListItem,{key:item.id,"data-list-item":index,"aria-label":item["aria-label"]||item.label,size:size,hideBorder:hideBorder||isLastItem,isActive:item.isActive,isDisabled:item.isDisabled,isClickable:!!(onClick||selectedIds),isSelected:isSelectable?isSelected:void 0,description:item.description,onSpaceEnterPress:()=>handleOnClick(item),tabIndex:tabIndex,ariaLabelExpand:ariaLabelExpand,ariaLabelCollapse:ariaLabelCollapse,onClick:e=>{e.target.closest("label")||handleOnClick(item)},checkboxProps:isSelectable&&{name:"list-checkbox",size:"s",checked:isSelected,onChange:()=>handleOnClick(item)},renderLabel:()=>item.label,renderLeft:getLeftIconProps?({textSize})=>React.createElement(Icon,{...getLeftIconProps(item),size:textSize}):null,renderRight:({actionSize,textSize})=>renderRightContent?React.createElement(StyledMinHeightCell,{textSize:textSize},renderRightContent({textSize,actionSize,...item})):null})};return React.createElement("div",{ref:listRef},isVirtualized&&maxHeight?React.createElement(VirtualizedEntityList,{id:dataE2eTestId,maxHeight:maxHeight,size:size,dataShown:dataShown,selectedIndex:selectedIndex,itemTemplate:renderEntityItem,"data-e2e-test-id":dataE2eTestId,role:isSelectable?"listbox":"list","aria-multiselectable":!!isSelectable||void 0,...ariaAttributes}):React.createElement(StyledList,{size:size,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"EntityList",...ariaAttributes,role:isSelectable?"listbox":"list","aria-multiselectable":!!isSelectable||void 0},dataShown.map((_item,i)=>renderEntityItem(i))))}
1
+ import React,{useRef,useMemo,useCallback}from"react";import{StyledList}from"./styled-components";import{useKeyboard}from"../../shared/useKeyboard";import{Icon}from"../Icon/Icon";import{EntityListItem}from"./EntityListItem";import{VirtualizedEntityList}from"./VirtualizedEntityList";import{useFocusByIndex}from"./useFocusByIndex";let ITEM_ROLE_MAP={list:"listitem",listbox:"option",menu:"menuitem"};export function BaseEntityList({data,size="m",onClick,isSelectable,selectedIds,onSelectionChange,onSelectionToggle,renderRightContent,getLeftIconProps,hideBorder,filterFn,isVirtualized,maxHeight,ariaAttributes:deprecatedAriaAttributes,slotProps,role:roleProp,"data-e2e-test-id":dataE2eTestId,...ariaAttributes}){let rootRole,{itemRole,...rootAriaProps}=(rootRole=roleProp??"list",isSelectable&&(rootRole="listbox"),{role:rootRole,itemRole:ITEM_ROLE_MAP[rootRole],"aria-multiselectable":"listbox"===rootRole&&!!isSelectable||void 0}),ariaLabelExpand=slotProps?.toggle?.["aria-label-expand"]??deprecatedAriaAttributes?.ariaLabelExpand,ariaLabelCollapse=slotProps?.toggle?.["aria-label-collapse"]??deprecatedAriaAttributes?.ariaLabelCollapse,dataShown=useMemo(()=>data.length&&filterFn?data.filter(filterFn):data,[data,filterFn]),selectedIdsSet=useMemo(()=>new Set(selectedIds),[selectedIds]),listRef=useRef(null),{moveFocus,focusedIndex:selectedIndex}=useFocusByIndex({containerRef:listRef,nodeSelector:"data-list-item",data:useMemo(()=>dataShown.map(item=>({id:item.id,isDisabled:!!item.isDisabled})),[dataShown]),preventScroll:isVirtualized,initialIndex:useMemo(()=>{let index=dataShown.findIndex(item=>item.isActive);return -1!==index?index:0},[dataShown])});useKeyboard({ArrowDown:()=>{moveFocus(1)},ArrowUp:()=>{moveFocus(-1)}},listRef,isSelectable||!!onClick);let handleOnClick=useCallback(item=>{let{id}=item;if(isSelectable){let willBeSelected=!selectedIdsSet.has(id),newSelectedIdsSet=new Set(selectedIdsSet);willBeSelected?newSelectedIdsSet.add(id):newSelectedIdsSet.delete(id),onSelectionToggle?.(id,willBeSelected),onSelectionChange?.(Array.from(newSelectedIdsSet))}onClick?.(item)},[selectedIdsSet,onSelectionChange,onSelectionToggle,onClick,isSelectable]),renderEntityItem=index=>{let tabIndex,item=dataShown[index];if(!item)return null;let isLastItem=index===dataShown.length-1,isSelected=selectedIdsSet.has(item.id);return(isSelectable||onClick)&&(tabIndex=item.isDisabled||index!==selectedIndex&&(0!==index||selectedIndex)?-1:0),React.createElement(EntityListItem,{key:item.id,"data-list-item":index,"aria-label":item["aria-label"]||item.label,size:size,hideBorder:hideBorder||isLastItem,isActive:item.isActive,isDisabled:item.isDisabled,isClickable:!!(onClick||selectedIds),isSelected:isSelectable?isSelected:void 0,role:itemRole,description:item.description,onSpaceEnterPress:()=>handleOnClick(item),tabIndex:tabIndex,ariaLabelExpand:ariaLabelExpand,ariaLabelCollapse:ariaLabelCollapse,onClick:e=>{e.target.closest("label")||handleOnClick(item)},checkboxProps:isSelectable&&{name:"list-checkbox",size:"s",checked:isSelected,onChange:()=>handleOnClick(item)},renderLabel:()=>item.label,renderLeft:getLeftIconProps?({textSize})=>React.createElement(Icon,{...getLeftIconProps(item),size:textSize}):null,renderRight:renderRightProps=>renderRightContent?renderRightContent({...renderRightProps,...item}):void 0})};return React.createElement("div",{ref:listRef},isVirtualized&&maxHeight?React.createElement(VirtualizedEntityList,{id:dataE2eTestId,maxHeight:maxHeight,size:size,dataShown:dataShown,selectedIndex:selectedIndex,itemTemplate:renderEntityItem,"data-e2e-test-id":dataE2eTestId,...rootAriaProps,...ariaAttributes}):React.createElement(StyledList,{size:size,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"EntityList",...rootAriaProps,...ariaAttributes},dataShown.map((_item,i)=>renderEntityItem(i))))}
@@ -1 +1 @@
1
- import React,{cloneElement,isValidElement}from"react";import styled from"@emotion/styled";import{CheckboxRaw}from"../Form/Checkbox/Checkbox";import{EntityListItemText}from"./EntityListItemText";import{Inline}from"../Inline/Inline";import{StyledWrapperOffset}from"./styled-components";let StyledLabel=styled(StyledWrapperOffset,{target:"e1nalbpv0",label:"StyledLabel"})(({theme,size})=>({cursor:"pointer",display:"block",margin:`-${theme.variables.size.spacing["xs"===size?"xxs":size]} 0`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRW50aXR5TGlzdC9FbnRpdHlJdGVtQm9keS50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0VudGl0eUxpc3QvRW50aXR5SXRlbUJvZHkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmcgKi9cbmltcG9ydCBSZWFjdCwgeyBjbG9uZUVsZW1lbnQsIGlzVmFsaWRFbGVtZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB0eXBlIHsgSFRNTEF0dHJpYnV0ZXMgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENoZWNrYm94UmF3IH0gZnJvbSBcIi4uL0Zvcm0vQ2hlY2tib3gvQ2hlY2tib3hcIjtcbmltcG9ydCB7IEVudGl0eUxpc3RJdGVtVGV4dCB9IGZyb20gXCIuL0VudGl0eUxpc3RJdGVtVGV4dFwiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB7IFN0eWxlZFdyYXBwZXJPZmZzZXQgfSBmcm9tIFwiLi9zdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHR5cGUgeyBFbnRpdHlMaXN0SXRlbVByb3BzIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuY29uc3QgU3R5bGVkTGFiZWwgPSBzdHlsZWQoU3R5bGVkV3JhcHBlck9mZnNldCkoKHsgdGhlbWUsIHNpemUgfSkgPT4gKHtcbiAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgZGlzcGxheTogXCJibG9ja1wiLFxuICBtYXJnaW46IGAtJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW3NpemUgPT09IFwieHNcIiA/IFwieHhzXCIgOiBzaXplXX0gMGAsXG59KSk7XG5cbmNvbnN0IGhhc0ludGVyYWN0aXZlUHJvcHMgPSAoZWxlbWVudDogUmVhY3QuUmVhY3RFbGVtZW50KTogYm9vbGVhbiA9PlxuICBbXCJvbkNsaWNrXCIsIFwib25Nb3VzZURvd25cIiwgXCJvblBvaW50ZXJEb3duXCJdLnNvbWUoXG4gICAgKHApID0+IHR5cGVvZiBlbGVtZW50LnByb3BzPy5bcF0gPT09IFwiZnVuY3Rpb25cIlxuICApO1xuXG5jb25zdCBpc0ludGVyYWN0aXZlRWxlbWVudCA9IChcbiAgZWxlbWVudDogUmVhY3QuUmVhY3ROb2RlXG4pOiBlbGVtZW50IGlzIFJlYWN0LlJlYWN0RWxlbWVudDxIVE1MQXR0cmlidXRlczxIVE1MRWxlbWVudD4+ID0+XG4gIGlzVmFsaWRFbGVtZW50KGVsZW1lbnQpICYmXG4gIChoYXNJbnRlcmFjdGl2ZVByb3BzKGVsZW1lbnQpIHx8IFwiaHJlZlwiIGluIChlbGVtZW50LnByb3BzID8/IHt9KSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBFbnRpdHlJdGVtQm9keSh7XG4gIGNoZWNrYm94UHJvcHMsXG4gIGRlc2NyaXB0aW9uLFxuICByZW5kZXJMYWJlbCxcbiAgcmVuZGVyTGVmdCxcbiAgcmVuZGVyUmlnaHQsXG4gIHRhYkluZGV4LFxuICBzaXplID0gXCJtXCIsXG59OiBQYXJ0aWFsPEVudGl0eUxpc3RJdGVtUHJvcHM+KTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgdGV4dFNpemUgPSBzaXplID09PSBcInhzXCIgPyBcInNcIiA6IFwibVwiO1xuICBjb25zdCBhY3Rpb25TaXplID0gc2l6ZSA9PT0gXCJsXCIgPyBcIm1cIiA6IFwic1wiO1xuICBjb25zdCByaWdodEVsZW1lbnQgPSByZW5kZXJSaWdodD8uKHsgdGV4dFNpemUsIGFjdGlvblNpemUgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8SW5saW5lIG5vV3JhcCBhbGlnbkl0ZW1zPVwic3BhY2VCZXR3ZWVuXCIgc3BhY2U9e1tcInhzXCIsIFwibVwiXX0+XG4gICAgICB7Y2hlY2tib3hQcm9wcyA/IChcbiAgICAgICAgPFN0eWxlZExhYmVsIGFzPVwibGFiZWxcIiBzaXplPXtzaXplfSBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICA8SW5saW5lIG5vV3JhcCBzcGFjZT17W1wieHNcIiwgXCJtXCJdfT5cbiAgICAgICAgICAgIDxDaGVja2JveFJhdyB7Li4uY2hlY2tib3hQcm9wc30gaW5lcnQ9XCJcIiAvPlxuICAgICAgICAgICAgPEVudGl0eUxpc3RJdGVtVGV4dCBzaXplPXt0ZXh0U2l6ZX0gZGVzY3JpcHRpb249e2Rlc2NyaXB0aW9ufT5cbiAgICAgICAgICAgICAge3JlbmRlckxhYmVsKHsgdGV4dFNpemUgfSl9XG4gICAgICAgICAgICA8L0VudGl0eUxpc3RJdGVtVGV4dD5cbiAgICAgICAgICA8L0lubGluZT5cbiAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICkgOiAoXG4gICAgICAgIDxJbmxpbmUgbm9XcmFwIHNwYWNlPXtbXCJ4c1wiLCBcIm1cIl19PlxuICAgICAgICAgIHtyZW5kZXJMZWZ0ICYmIHJlbmRlckxlZnQoeyB0ZXh0U2l6ZSB9KX1cbiAgICAgICAgICA8RW50aXR5TGlzdEl0ZW1UZXh0IHNpemU9e3RleHRTaXplfSBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259PlxuICAgICAgICAgICAge3JlbmRlckxhYmVsKHsgdGV4dFNpemUgfSl9XG4gICAgICAgICAgPC9FbnRpdHlMaXN0SXRlbVRleHQ+XG4gICAgICAgIDwvSW5saW5lPlxuICAgICAgKX1cblxuICAgICAge2lzSW50ZXJhY3RpdmVFbGVtZW50KHJpZ2h0RWxlbWVudClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQocmlnaHRFbGVtZW50LCB7XG4gICAgICAgICAgICB0YWJJbmRleCxcbiAgICAgICAgICAgIG9uQ2xpY2s6IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgIHJpZ2h0RWxlbWVudC5wcm9wcy5vbkNsaWNrPy4oZXZlbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC4uLihyaWdodEVsZW1lbnQucHJvcHMub25Nb3VzZURvd24gJiYge1xuICAgICAgICAgICAgICBvbk1vdXNlRG93bjogKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIHJpZ2h0RWxlbWVudC5wcm9wcy5vbk1vdXNlRG93bj8uKGV2ZW50KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLi4uKHJpZ2h0RWxlbWVudC5wcm9wcy5vblBvaW50ZXJEb3duICYmIHtcbiAgICAgICAgICAgICAgb25Qb2ludGVyRG93bjogKGV2ZW50OiBSZWFjdC5Qb2ludGVyRXZlbnQ8SFRNTEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgcmlnaHRFbGVtZW50LnByb3BzLm9uUG9pbnRlckRvd24/LihldmVudCk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9KVxuICAgICAgICA6IHJpZ2h0RWxlbWVudH1cbiAgICA8L0lubGluZT5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVb0IifQ== */"),hasInteractiveProps=element=>["onClick","onMouseDown","onPointerDown"].some(p=>"function"==typeof element.props?.[p]),isInteractiveElement=element=>isValidElement(element)&&(hasInteractiveProps(element)||"href"in(element.props??{}));export function EntityItemBody({checkboxProps,description,renderLabel,renderLeft,renderRight,tabIndex,size="m"}){let textSize="xs"===size?"s":"m",rightElement=renderRight?.({textSize,actionSize:"l"===size?"m":"s"});return React.createElement(Inline,{noWrap:!0,alignItems:"spaceBetween",space:["xs","m"]},checkboxProps?React.createElement(StyledLabel,{as:"label",size:size,"aria-hidden":"true"},React.createElement(Inline,{noWrap:!0,space:["xs","m"]},React.createElement(CheckboxRaw,{...checkboxProps,inert:""}),React.createElement(EntityListItemText,{size:textSize,description:description},renderLabel({textSize})))):React.createElement(Inline,{noWrap:!0,space:["xs","m"]},renderLeft&&renderLeft({textSize}),React.createElement(EntityListItemText,{size:textSize,description:description},renderLabel({textSize}))),isInteractiveElement(rightElement)?cloneElement(rightElement,{tabIndex,onClick:event=>{event.stopPropagation(),rightElement.props.onClick?.(event)},...rightElement.props.onMouseDown&&{onMouseDown:event=>{event.stopPropagation(),rightElement.props.onMouseDown?.(event)}},...rightElement.props.onPointerDown&&{onPointerDown:event=>{event.stopPropagation(),rightElement.props.onPointerDown?.(event)}}}):rightElement)}
1
+ import React,{cloneElement,isValidElement}from"react";import styled from"@emotion/styled";import{CheckboxRaw}from"../Form/Checkbox/Checkbox";import{EntityListItemText}from"./EntityListItemText";import{Inline}from"../Inline/Inline";import{StyledWrapperOffset}from"./styled-components";let StyledLabel=styled(StyledWrapperOffset,{target:"erqpiki0",label:"StyledLabel"})(({theme,size})=>({cursor:"pointer",display:"block",margin:`-${theme.variables.size.spacing["xs"===size?"xxs":size]} 0`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRW50aXR5TGlzdC9FbnRpdHlJdGVtQm9keS50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0VudGl0eUxpc3QvRW50aXR5SXRlbUJvZHkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmcgKi9cbmltcG9ydCBSZWFjdCwgeyBjbG9uZUVsZW1lbnQsIGlzVmFsaWRFbGVtZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB0eXBlIHsgSFRNTEF0dHJpYnV0ZXMgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENoZWNrYm94UmF3IH0gZnJvbSBcIi4uL0Zvcm0vQ2hlY2tib3gvQ2hlY2tib3hcIjtcbmltcG9ydCB7IEVudGl0eUxpc3RJdGVtVGV4dCB9IGZyb20gXCIuL0VudGl0eUxpc3RJdGVtVGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0U2l6ZVByb3BzLCBFbnRpdHlMaXN0SXRlbVByb3BzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBTdHlsZWRXcmFwcGVyT2Zmc2V0IH0gZnJvbSBcIi4vc3R5bGVkLWNvbXBvbmVudHNcIjtcblxuY29uc3QgU3R5bGVkTGFiZWwgPSBzdHlsZWQoU3R5bGVkV3JhcHBlck9mZnNldCkoKHsgdGhlbWUsIHNpemUgfSkgPT4gKHtcbiAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgZGlzcGxheTogXCJibG9ja1wiLFxuICBtYXJnaW46IGAtJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW3NpemUgPT09IFwieHNcIiA/IFwieHhzXCIgOiBzaXplXX0gMGAsXG59KSk7XG5cbi8vIFRoaXMgbWluSGVpZ2h0IGlzIG5lZWRlZCBmb3IgYWxpZ24gc21hbGwgaWNvbnMgaW4gdGhlIG1pZGRsZSBvZiAxIHJvdyB0ZXh0LFxuLy8gYnV0IGl0IHNob3VsZCBzdGF5IGF0IHRoZSB0b3AgaWYgdGhlcmUgaXMgbXVsdGlsaW5lIHRleHRcbmNvbnN0IFN0eWxlZE1pbkhlaWdodENlbGwgPSBzdHlsZWQuZGl2PFRleHRTaXplUHJvcHM+KFxuICAoeyB0aGVtZSwgdGV4dFNpemUgfSkgPT4gKHtcbiAgICBtaW5IZWlnaHQ6XG4gICAgICB0ZXh0U2l6ZSA9PT0gXCJzXCJcbiAgICAgICAgPyBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubX0gKyAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhzfSlgXG4gICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gIH0pXG4pO1xuXG5jb25zdCBoYXNJbnRlcmFjdGl2ZVByb3BzID0gKGVsZW1lbnQ6IFJlYWN0LlJlYWN0RWxlbWVudCk6IGJvb2xlYW4gPT5cbiAgW1wib25DbGlja1wiLCBcIm9uTW91c2VEb3duXCIsIFwib25Qb2ludGVyRG93blwiXS5zb21lKFxuICAgIChwKSA9PiB0eXBlb2YgZWxlbWVudC5wcm9wcz8uW3BdID09PSBcImZ1bmN0aW9uXCJcbiAgKTtcblxuY29uc3QgaXNJbnRlcmFjdGl2ZUVsZW1lbnQgPSAoXG4gIGVsZW1lbnQ6IFJlYWN0LlJlYWN0Tm9kZVxuKTogZWxlbWVudCBpcyBSZWFjdC5SZWFjdEVsZW1lbnQ8SFRNTEF0dHJpYnV0ZXM8SFRNTEVsZW1lbnQ+PiA9PlxuICBpc1ZhbGlkRWxlbWVudChlbGVtZW50KSAmJlxuICAoaGFzSW50ZXJhY3RpdmVQcm9wcyhlbGVtZW50KSB8fCBcImhyZWZcIiBpbiAoZWxlbWVudC5wcm9wcyA/PyB7fSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gRW50aXR5SXRlbUJvZHkoe1xuICBjaGVja2JveFByb3BzLFxuICBkZXNjcmlwdGlvbixcbiAgcmVuZGVyTGFiZWwsXG4gIHJlbmRlckxlZnQsXG4gIHJlbmRlclJpZ2h0LFxuICB0YWJJbmRleCxcbiAgc2l6ZSA9IFwibVwiLFxufTogUGFydGlhbDxFbnRpdHlMaXN0SXRlbVByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHRleHRTaXplID0gc2l6ZSA9PT0gXCJ4c1wiID8gXCJzXCIgOiBcIm1cIjtcbiAgY29uc3QgYWN0aW9uU2l6ZSA9IHNpemUgPT09IFwibFwiID8gXCJtXCIgOiBcInNcIjtcbiAgY29uc3QgcmlnaHRFbGVtZW50ID0gcmVuZGVyUmlnaHQ/Lih7IHRleHRTaXplLCBhY3Rpb25TaXplLCB0YWJJbmRleCB9KTtcblxuICByZXR1cm4gKFxuICAgIDxJbmxpbmUgbm9XcmFwIGFsaWduSXRlbXM9XCJzcGFjZUJldHdlZW5cIiBzcGFjZT17W1wieHNcIiwgXCJtXCJdfT5cbiAgICAgIHtjaGVja2JveFByb3BzID8gKFxuICAgICAgICA8U3R5bGVkTGFiZWwgYXM9XCJsYWJlbFwiIHNpemU9e3NpemV9IGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgIDxJbmxpbmUgbm9XcmFwIHNwYWNlPXtbXCJ4c1wiLCBcIm1cIl19PlxuICAgICAgICAgICAgPENoZWNrYm94UmF3IHsuLi5jaGVja2JveFByb3BzfSBpbmVydD1cIlwiIC8+XG4gICAgICAgICAgICA8RW50aXR5TGlzdEl0ZW1UZXh0IHNpemU9e3RleHRTaXplfSBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259PlxuICAgICAgICAgICAgICB7cmVuZGVyTGFiZWwoeyB0ZXh0U2l6ZSB9KX1cbiAgICAgICAgICAgIDwvRW50aXR5TGlzdEl0ZW1UZXh0PlxuICAgICAgICAgIDwvSW5saW5lPlxuICAgICAgICA8L1N0eWxlZExhYmVsPlxuICAgICAgKSA6IChcbiAgICAgICAgPElubGluZSBub1dyYXAgc3BhY2U9e1tcInhzXCIsIFwibVwiXX0+XG4gICAgICAgICAge3JlbmRlckxlZnQgJiYgcmVuZGVyTGVmdCh7IHRleHRTaXplIH0pfVxuICAgICAgICAgIDxFbnRpdHlMaXN0SXRlbVRleHQgc2l6ZT17dGV4dFNpemV9IGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0+XG4gICAgICAgICAgICB7cmVuZGVyTGFiZWwoeyB0ZXh0U2l6ZSB9KX1cbiAgICAgICAgICA8L0VudGl0eUxpc3RJdGVtVGV4dD5cbiAgICAgICAgPC9JbmxpbmU+XG4gICAgICApfVxuXG4gICAgICB7cmlnaHRFbGVtZW50ICYmIChcbiAgICAgICAgPFN0eWxlZE1pbkhlaWdodENlbGwgdGV4dFNpemU9e3RleHRTaXplfT5cbiAgICAgICAgICB7aXNJbnRlcmFjdGl2ZUVsZW1lbnQocmlnaHRFbGVtZW50KVxuICAgICAgICAgICAgPyBjbG9uZUVsZW1lbnQocmlnaHRFbGVtZW50LCB7XG4gICAgICAgICAgICAgICAgdGFiSW5kZXgsXG4gICAgICAgICAgICAgICAgb25DbGljazogKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICByaWdodEVsZW1lbnQucHJvcHMub25DbGljaz8uKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIC4uLihyaWdodEVsZW1lbnQucHJvcHMub25Nb3VzZURvd24gJiYge1xuICAgICAgICAgICAgICAgICAgb25Nb3VzZURvd246IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0RWxlbWVudC5wcm9wcy5vbk1vdXNlRG93bj8uKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLi4uKHJpZ2h0RWxlbWVudC5wcm9wcy5vblBvaW50ZXJEb3duICYmIHtcbiAgICAgICAgICAgICAgICAgIG9uUG9pbnRlckRvd246IChldmVudDogUmVhY3QuUG9pbnRlckV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHRFbGVtZW50LnByb3BzLm9uUG9pbnRlckRvd24/LihldmVudCk7XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgOiByaWdodEVsZW1lbnR9XG4gICAgICAgIDwvU3R5bGVkTWluSGVpZ2h0Q2VsbD5cbiAgICAgICl9XG4gICAgPC9JbmxpbmU+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVW9CIn0= */"),StyledMinHeightCell=styled("div",{target:"erqpiki1",label:"StyledMinHeightCell"})(({theme,textSize})=>({minHeight:"s"===textSize?`calc(${theme.variables.size.spacing.m} + ${theme.variables.size.spacing.xxs})`:theme.variables.size.spacing.l,display:"flex",alignItems:"center"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvRW50aXR5TGlzdC9FbnRpdHlJdGVtQm9keS50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL0VudGl0eUxpc3QvRW50aXR5SXRlbUJvZHkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1wcm9wcy1uby1zcHJlYWRpbmcgKi9cbmltcG9ydCBSZWFjdCwgeyBjbG9uZUVsZW1lbnQsIGlzVmFsaWRFbGVtZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB0eXBlIHsgSFRNTEF0dHJpYnV0ZXMgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENoZWNrYm94UmF3IH0gZnJvbSBcIi4uL0Zvcm0vQ2hlY2tib3gvQ2hlY2tib3hcIjtcbmltcG9ydCB7IEVudGl0eUxpc3RJdGVtVGV4dCB9IGZyb20gXCIuL0VudGl0eUxpc3RJdGVtVGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBUZXh0U2l6ZVByb3BzLCBFbnRpdHlMaXN0SXRlbVByb3BzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgeyBTdHlsZWRXcmFwcGVyT2Zmc2V0IH0gZnJvbSBcIi4vc3R5bGVkLWNvbXBvbmVudHNcIjtcblxuY29uc3QgU3R5bGVkTGFiZWwgPSBzdHlsZWQoU3R5bGVkV3JhcHBlck9mZnNldCkoKHsgdGhlbWUsIHNpemUgfSkgPT4gKHtcbiAgY3Vyc29yOiBcInBvaW50ZXJcIixcbiAgZGlzcGxheTogXCJibG9ja1wiLFxuICBtYXJnaW46IGAtJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nW3NpemUgPT09IFwieHNcIiA/IFwieHhzXCIgOiBzaXplXX0gMGAsXG59KSk7XG5cbi8vIFRoaXMgbWluSGVpZ2h0IGlzIG5lZWRlZCBmb3IgYWxpZ24gc21hbGwgaWNvbnMgaW4gdGhlIG1pZGRsZSBvZiAxIHJvdyB0ZXh0LFxuLy8gYnV0IGl0IHNob3VsZCBzdGF5IGF0IHRoZSB0b3AgaWYgdGhlcmUgaXMgbXVsdGlsaW5lIHRleHRcbmNvbnN0IFN0eWxlZE1pbkhlaWdodENlbGwgPSBzdHlsZWQuZGl2PFRleHRTaXplUHJvcHM+KFxuICAoeyB0aGVtZSwgdGV4dFNpemUgfSkgPT4gKHtcbiAgICBtaW5IZWlnaHQ6XG4gICAgICB0ZXh0U2l6ZSA9PT0gXCJzXCJcbiAgICAgICAgPyBgY2FsYygke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubX0gKyAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHhzfSlgXG4gICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5sLFxuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gIH0pXG4pO1xuXG5jb25zdCBoYXNJbnRlcmFjdGl2ZVByb3BzID0gKGVsZW1lbnQ6IFJlYWN0LlJlYWN0RWxlbWVudCk6IGJvb2xlYW4gPT5cbiAgW1wib25DbGlja1wiLCBcIm9uTW91c2VEb3duXCIsIFwib25Qb2ludGVyRG93blwiXS5zb21lKFxuICAgIChwKSA9PiB0eXBlb2YgZWxlbWVudC5wcm9wcz8uW3BdID09PSBcImZ1bmN0aW9uXCJcbiAgKTtcblxuY29uc3QgaXNJbnRlcmFjdGl2ZUVsZW1lbnQgPSAoXG4gIGVsZW1lbnQ6IFJlYWN0LlJlYWN0Tm9kZVxuKTogZWxlbWVudCBpcyBSZWFjdC5SZWFjdEVsZW1lbnQ8SFRNTEF0dHJpYnV0ZXM8SFRNTEVsZW1lbnQ+PiA9PlxuICBpc1ZhbGlkRWxlbWVudChlbGVtZW50KSAmJlxuICAoaGFzSW50ZXJhY3RpdmVQcm9wcyhlbGVtZW50KSB8fCBcImhyZWZcIiBpbiAoZWxlbWVudC5wcm9wcyA/PyB7fSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gRW50aXR5SXRlbUJvZHkoe1xuICBjaGVja2JveFByb3BzLFxuICBkZXNjcmlwdGlvbixcbiAgcmVuZGVyTGFiZWwsXG4gIHJlbmRlckxlZnQsXG4gIHJlbmRlclJpZ2h0LFxuICB0YWJJbmRleCxcbiAgc2l6ZSA9IFwibVwiLFxufTogUGFydGlhbDxFbnRpdHlMaXN0SXRlbVByb3BzPik6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IHRleHRTaXplID0gc2l6ZSA9PT0gXCJ4c1wiID8gXCJzXCIgOiBcIm1cIjtcbiAgY29uc3QgYWN0aW9uU2l6ZSA9IHNpemUgPT09IFwibFwiID8gXCJtXCIgOiBcInNcIjtcbiAgY29uc3QgcmlnaHRFbGVtZW50ID0gcmVuZGVyUmlnaHQ/Lih7IHRleHRTaXplLCBhY3Rpb25TaXplLCB0YWJJbmRleCB9KTtcblxuICByZXR1cm4gKFxuICAgIDxJbmxpbmUgbm9XcmFwIGFsaWduSXRlbXM9XCJzcGFjZUJldHdlZW5cIiBzcGFjZT17W1wieHNcIiwgXCJtXCJdfT5cbiAgICAgIHtjaGVja2JveFByb3BzID8gKFxuICAgICAgICA8U3R5bGVkTGFiZWwgYXM9XCJsYWJlbFwiIHNpemU9e3NpemV9IGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgIDxJbmxpbmUgbm9XcmFwIHNwYWNlPXtbXCJ4c1wiLCBcIm1cIl19PlxuICAgICAgICAgICAgPENoZWNrYm94UmF3IHsuLi5jaGVja2JveFByb3BzfSBpbmVydD1cIlwiIC8+XG4gICAgICAgICAgICA8RW50aXR5TGlzdEl0ZW1UZXh0IHNpemU9e3RleHRTaXplfSBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259PlxuICAgICAgICAgICAgICB7cmVuZGVyTGFiZWwoeyB0ZXh0U2l6ZSB9KX1cbiAgICAgICAgICAgIDwvRW50aXR5TGlzdEl0ZW1UZXh0PlxuICAgICAgICAgIDwvSW5saW5lPlxuICAgICAgICA8L1N0eWxlZExhYmVsPlxuICAgICAgKSA6IChcbiAgICAgICAgPElubGluZSBub1dyYXAgc3BhY2U9e1tcInhzXCIsIFwibVwiXX0+XG4gICAgICAgICAge3JlbmRlckxlZnQgJiYgcmVuZGVyTGVmdCh7IHRleHRTaXplIH0pfVxuICAgICAgICAgIDxFbnRpdHlMaXN0SXRlbVRleHQgc2l6ZT17dGV4dFNpemV9IGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0+XG4gICAgICAgICAgICB7cmVuZGVyTGFiZWwoeyB0ZXh0U2l6ZSB9KX1cbiAgICAgICAgICA8L0VudGl0eUxpc3RJdGVtVGV4dD5cbiAgICAgICAgPC9JbmxpbmU+XG4gICAgICApfVxuXG4gICAgICB7cmlnaHRFbGVtZW50ICYmIChcbiAgICAgICAgPFN0eWxlZE1pbkhlaWdodENlbGwgdGV4dFNpemU9e3RleHRTaXplfT5cbiAgICAgICAgICB7aXNJbnRlcmFjdGl2ZUVsZW1lbnQocmlnaHRFbGVtZW50KVxuICAgICAgICAgICAgPyBjbG9uZUVsZW1lbnQocmlnaHRFbGVtZW50LCB7XG4gICAgICAgICAgICAgICAgdGFiSW5kZXgsXG4gICAgICAgICAgICAgICAgb25DbGljazogKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICByaWdodEVsZW1lbnQucHJvcHMub25DbGljaz8uKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIC4uLihyaWdodEVsZW1lbnQucHJvcHMub25Nb3VzZURvd24gJiYge1xuICAgICAgICAgICAgICAgICAgb25Nb3VzZURvd246IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0RWxlbWVudC5wcm9wcy5vbk1vdXNlRG93bj8uKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLi4uKHJpZ2h0RWxlbWVudC5wcm9wcy5vblBvaW50ZXJEb3duICYmIHtcbiAgICAgICAgICAgICAgICAgIG9uUG9pbnRlckRvd246IChldmVudDogUmVhY3QuUG9pbnRlckV2ZW50PEhUTUxFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHRFbGVtZW50LnByb3BzLm9uUG9pbnRlckRvd24/LihldmVudCk7XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgOiByaWdodEVsZW1lbnR9XG4gICAgICAgIDwvU3R5bGVkTWluSGVpZ2h0Q2VsbD5cbiAgICAgICl9XG4gICAgPC9JbmxpbmU+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0I0QiJ9 */"),hasInteractiveProps=element=>["onClick","onMouseDown","onPointerDown"].some(p=>"function"==typeof element.props?.[p]),isInteractiveElement=element=>isValidElement(element)&&(hasInteractiveProps(element)||"href"in(element.props??{}));export function EntityItemBody({checkboxProps,description,renderLabel,renderLeft,renderRight,tabIndex,size="m"}){let textSize="xs"===size?"s":"m",rightElement=renderRight?.({textSize,actionSize:"l"===size?"m":"s",tabIndex});return React.createElement(Inline,{noWrap:!0,alignItems:"spaceBetween",space:["xs","m"]},checkboxProps?React.createElement(StyledLabel,{as:"label",size:size,"aria-hidden":"true"},React.createElement(Inline,{noWrap:!0,space:["xs","m"]},React.createElement(CheckboxRaw,{...checkboxProps,inert:""}),React.createElement(EntityListItemText,{size:textSize,description:description},renderLabel({textSize})))):React.createElement(Inline,{noWrap:!0,space:["xs","m"]},renderLeft&&renderLeft({textSize}),React.createElement(EntityListItemText,{size:textSize,description:description},renderLabel({textSize}))),rightElement&&React.createElement(StyledMinHeightCell,{textSize:textSize},isInteractiveElement(rightElement)?cloneElement(rightElement,{tabIndex,onClick:event=>{event.stopPropagation(),rightElement.props.onClick?.(event)},...rightElement.props.onMouseDown&&{onMouseDown:event=>{event.stopPropagation(),rightElement.props.onMouseDown?.(event)}},...rightElement.props.onPointerDown&&{onPointerDown:event=>{event.stopPropagation(),rightElement.props.onPointerDown?.(event)}}}):rightElement))}
@@ -1 +1 @@
1
- import React,{useCallback,useImperativeHandle,useRef}from"react";import{EntityItemBody}from"./EntityItemBody";import{useKeyboard}from"../../shared/useKeyboard";import{StyledEntityListItemWrapper,StyledEntityListItemButton}from"./styled-components";let useButtonKeyboard=({ref:globalRef,isActive,onSpaceEnterPress})=>{let localRef=useRef(null);return useKeyboard({"Space Enter":onSpaceEnterPress},localRef,isActive,!0),useImperativeHandle(globalRef,()=>localRef.current),localRef};export const EntityListItem=React.forwardRef(({checkboxProps,description,hideBorder,isActive,isClickable,isDisabled,onClick,renderLabel,renderLeft,renderRight,tabIndex,onSpaceEnterPress,size="m","aria-label":ariaLabel,"data-list-item":dataListItem,isSelected},ref)=>{let handleOnClick=useCallback(e=>{isClickable&&onClick&&onClick(e)},[onClick,isClickable]),buttonRef=useButtonKeyboard({ref,isActive:0===tabIndex&&isClickable,onSpaceEnterPress}),isListbox=void 0!==isSelected;return React.createElement(StyledEntityListItemButton,{role:isListbox?"option":"listitem","aria-label":ariaLabel,"aria-selected":isListbox?isSelected:void 0,"aria-disabled":isDisabled,size:size,tabIndex:tabIndex,ref:buttonRef,"data-list-item":dataListItem,"data-id":"list-item",onClick:handleOnClick,isClickable:isClickable,isActive:isActive,isDisabled:isDisabled},React.createElement(StyledEntityListItemWrapper,{size:size,hideBorder:hideBorder||"xs"===size},React.createElement(EntityItemBody,{size:size,tabIndex:tabIndex,checkboxProps:checkboxProps,description:description,renderLabel:renderLabel,renderLeft:renderLeft,renderRight:renderRight})))});
1
+ import React,{useCallback,useImperativeHandle,useRef}from"react";import{EntityItemBody}from"./EntityItemBody";import{useKeyboard}from"../../shared/useKeyboard";import{StyledEntityListItemWrapper,StyledEntityListItemButton}from"./styled-components";let useButtonKeyboard=({ref:globalRef,isActive,onSpaceEnterPress})=>{let localRef=useRef(null);return useKeyboard({"Space Enter":onSpaceEnterPress},localRef,isActive,!0),useImperativeHandle(globalRef,()=>localRef.current),localRef};export const EntityListItem=React.forwardRef(({checkboxProps,description,hideBorder,isActive,isClickable,isDisabled,onClick,renderLabel,renderLeft,renderRight,role,tabIndex,onSpaceEnterPress,size="m","aria-label":ariaLabel,"data-list-item":dataListItem,isSelected},ref)=>{let handleOnClick=useCallback(e=>{isClickable&&onClick&&onClick(e)},[onClick,isClickable]),buttonRef=useButtonKeyboard({ref,isActive:isClickable&&!isDisabled&&void 0!==tabIndex,onSpaceEnterPress}),supportsAriaSelected="menuitem"!==role;return React.createElement(StyledEntityListItemButton,{role:role,"aria-label":ariaLabel,"aria-selected":supportsAriaSelected?isSelected:void 0,"aria-disabled":isDisabled,size:size,tabIndex:tabIndex,ref:buttonRef,"data-list-item":dataListItem,"data-id":"list-item",onClick:handleOnClick,isClickable:isClickable,isActive:isActive,isDisabled:isDisabled},React.createElement(StyledEntityListItemWrapper,{size:size,hideBorder:hideBorder||"xs"===size},React.createElement(EntityItemBody,{size:size,tabIndex:tabIndex,checkboxProps:checkboxProps,description:description,renderLabel:renderLabel,renderLeft:renderLeft,renderRight:renderRight})))});
@@ -9,7 +9,7 @@ export type VirtualizedEntityListProps = {
9
9
  selectedIndex: number;
10
10
  itemTemplate: (index: number) => React.ReactNode;
11
11
  "data-e2e-test-id"?: string;
12
- role?: "list" | "listbox";
12
+ role?: "list" | "listbox" | "menu";
13
13
  "aria-multiselectable"?: boolean;
14
14
  "aria-label"?: string;
15
15
  };
@@ -31,6 +31,9 @@ export type EntityListAriaAttributes = {
31
31
  /** @deprecated Use slotProps.toggle['aria-label-collapse'] instead */
32
32
  ariaLabelCollapse?: string;
33
33
  };
34
+ export type RenderRightProps = TextSizeProps & ActionSizeProps & {
35
+ tabIndex?: number;
36
+ };
34
37
  export type BaseEntityListProps = {
35
38
  /**
36
39
  * @param ListNode[].id
@@ -80,6 +83,8 @@ export type BaseEntityListProps = {
80
83
  slotProps?: EntityListSlotProps;
81
84
  "data-e2e-test-id"?: string;
82
85
  "aria-label"?: string;
86
+ /** ARIA role for the list container. Defaults to 'listbox' when isSelectable, 'list' otherwise. */
87
+ role?: "list" | "listbox" | "menu";
83
88
  };
84
89
  export type EntityListProps = BaseEntityListProps & ({
85
90
  /** Enable virtualization for large lists. When true, only visible items are rendered. */
@@ -107,7 +112,7 @@ export type EntityListItemProps = {
107
112
  onExpandClick?: (e: React.MouseEvent) => void;
108
113
  renderLabel: RenderProps;
109
114
  renderLeft?: RenderProps;
110
- renderRight?: (props: TextSizeProps & ActionSizeProps) => React.ReactNode;
115
+ renderRight?: (props: RenderRightProps) => React.ReactNode;
111
116
  role?: string;
112
117
  size?: ListSize;
113
118
  withWrapper?: (content: () => React.ReactNode) => React.ReactNode;
@@ -12,6 +12,7 @@ type UseFocusByIndexOptions = {
12
12
  containerRef: RefObject<HTMLDivElement | HTMLUListElement>;
13
13
  nodeSelector: string;
14
14
  preventScroll?: boolean;
15
+ initialIndex?: number;
15
16
  };
16
- export declare const useFocusByIndex: ({ data, containerRef, nodeSelector, preventScroll, }: UseFocusByIndexOptions) => UseFocusByIndexResult;
17
+ export declare const useFocusByIndex: ({ data, containerRef, nodeSelector, preventScroll, initialIndex, }: UseFocusByIndexOptions) => UseFocusByIndexResult;
17
18
  export {};
@@ -1 +1 @@
1
- import{useCallback,useEffect,useRef,useState}from"react";let getNextEnabledIndex=(items,startIndex,direction)=>{let index=startIndex+direction;for(;index>=0&&index<items.length;){if(!items[index]?.isDisabled)return index;index+=direction}return -1},getClosestEnabledIndex=(items,currentIndex)=>{if(!items.length)return -1;if(currentIndex>=0&&currentIndex<items.length&&!items[currentIndex]?.isDisabled)return currentIndex;let forward=getNextEnabledIndex(items,currentIndex,1);return -1!==forward?forward:getNextEnabledIndex(items,currentIndex,-1)};export const useFocusByIndex=({data,containerRef,nodeSelector,preventScroll=!1})=>{let[focusedIndex,setFocusedIndex]=useState(()=>getClosestEnabledIndex(data,0)),focusedIndexRef=useRef(focusedIndex);useEffect(()=>{focusedIndexRef.current=focusedIndex},[focusedIndex]);let focusItemAtIndex=useCallback(index=>{if(-1===index)return;let container=containerRef.current;if(!container)return;let element=container.querySelector(`[${nodeSelector}="${index}"]`);!element||data[index]?.isDisabled||(element.focus({preventScroll}),setFocusedIndex(index))},[containerRef,data,nodeSelector,preventScroll]);return useEffect(()=>{let container=containerRef.current;if(!container)return;let handleContainerFocus=()=>{let nextIndex=getClosestEnabledIndex(data,focusedIndexRef.current);-1!==nextIndex&&focusItemAtIndex(nextIndex)},handleFocusIn=event=>{let target=event.target;if(!container.contains(target))return;let attributeValue=target.getAttribute(nodeSelector);if(null===attributeValue)return;let parsedIndex=Number(attributeValue);Number.isNaN(parsedIndex)||data[parsedIndex]?.isDisabled||setFocusedIndex(parsedIndex)};return container.addEventListener("focus",handleContainerFocus),container.addEventListener("focusin",handleFocusIn),()=>{container.removeEventListener("focus",handleContainerFocus),container.removeEventListener("focusin",handleFocusIn)}},[containerRef,data,focusItemAtIndex,nodeSelector]),{moveFocus:useCallback(offset=>{let nextIndex;if(!data.length)return;let direction=offset>0?1:-1,remainingSteps=Math.abs(offset);for(nextIndex=-1===focusedIndex?direction>0?-1:data.length:focusedIndex;remainingSteps>0;){let candidate=getNextEnabledIndex(data,nextIndex,direction);if(-1===candidate)return;nextIndex=candidate,remainingSteps-=1}nextIndex!==focusedIndex&&focusItemAtIndex(nextIndex)},[data,focusItemAtIndex,focusedIndex]),focusedIndex}};
1
+ import{useCallback,useEffect,useRef,useState}from"react";let getNextEnabledIndex=(items,startIndex,direction)=>{let index=startIndex+direction;for(;index>=0&&index<items.length;){if(!items[index]?.isDisabled)return index;index+=direction}return -1},getClosestEnabledIndex=(items,currentIndex)=>{if(!items.length)return -1;if(currentIndex>=0&&currentIndex<items.length&&!items[currentIndex]?.isDisabled)return currentIndex;let forward=getNextEnabledIndex(items,currentIndex,1);return -1!==forward?forward:getNextEnabledIndex(items,currentIndex,-1)};export const useFocusByIndex=({data,containerRef,nodeSelector,preventScroll=!1,initialIndex=0})=>{let[focusedIndex,setFocusedIndex]=useState(()=>getClosestEnabledIndex(data,initialIndex)),focusedIndexRef=useRef(focusedIndex);useEffect(()=>{focusedIndexRef.current=focusedIndex},[focusedIndex]);let focusItemAtIndex=useCallback(index=>{if(-1===index)return;let container=containerRef.current;if(!container)return;let element=container.querySelector(`[${nodeSelector}="${index}"]`);!element||data[index]?.isDisabled||(element.focus({preventScroll}),setFocusedIndex(index))},[containerRef,data,nodeSelector,preventScroll]);return useEffect(()=>{let container=containerRef.current;if(!container)return;let handleContainerFocus=()=>{let nextIndex=getClosestEnabledIndex(data,focusedIndexRef.current);-1!==nextIndex&&focusItemAtIndex(nextIndex)},handleFocusIn=event=>{let target=event.target;if(!container.contains(target))return;let attributeValue=target.getAttribute(nodeSelector);if(null===attributeValue)return;let parsedIndex=Number(attributeValue);Number.isNaN(parsedIndex)||data[parsedIndex]?.isDisabled||setFocusedIndex(parsedIndex)};return container.addEventListener("focus",handleContainerFocus),container.addEventListener("focusin",handleFocusIn),()=>{container.removeEventListener("focus",handleContainerFocus),container.removeEventListener("focusin",handleFocusIn)}},[containerRef,data,focusItemAtIndex,nodeSelector]),{moveFocus:useCallback(offset=>{let nextIndex;if(!data.length)return;let direction=offset>0?1:-1,remainingSteps=Math.abs(offset);for(nextIndex=-1===focusedIndex?direction>0?-1:data.length:focusedIndex;remainingSteps>0;){let candidate=getNextEnabledIndex(data,nextIndex,direction);if(-1===candidate)return;nextIndex=candidate,remainingSteps-=1}nextIndex!==focusedIndex&&focusItemAtIndex(nextIndex)},[data,focusItemAtIndex,focusedIndex]),focusedIndex}};
@@ -1 +1 @@
1
- import React,{useMemo,useState,useEffect,useCallback}from"react";import{Button}from"../Button/Button";import{Box}from"../Box/Box";import{StyledList,StyledShowMore}from"../EntityList/styled-components";import{EntityTreeItem}from"./EntityTreeItem";import{useKeyboard}from"../../shared/useKeyboard";import{useFocusByIndex}from"../EntityList/useFocusByIndex";import{Text}from"../Typography/Text/Text";import{getNodeChildrenMap,getTreeCheckboxState,getVisibleActiveNodeId,getLeafNodeIds,filterTree,mapTree,trimDataByMaxSize}from"./tree";let flattenTree=(data,expandedIds,expadedAll)=>{let flattened=[];return data.forEach(node=>{flattened.push(node),(node.children.length>0&&expandedIds[node.id]||expadedAll)&&flattened.push(...flattenTree(node.children,expandedIds,expadedAll))}),flattened},getLastNodeOfList=({node,data,level,isParentsLastOfLvl})=>{let currentLastNodeOfLvl=node.id===data[data.length-1].id;return 0===level?currentLastNodeOfLvl:isParentsLastOfLvl&&currentLastNodeOfLvl},useTreeTruncation=({chunkSize,data,expandAll,nodeExpandedState})=>{let[maxNodesCount,setMaxNodesCount]=useState(chunkSize),{result,hasMoreNodes}=useMemo(()=>trimDataByMaxSize(data,nodeExpandedState,expandAll,maxNodesCount),[data,nodeExpandedState,expandAll,maxNodesCount]);return{handleIncreaseMaxNodeCount:useCallback(()=>{setMaxNodesCount(prev=>prev+chunkSize)},[chunkSize]),result,hasMoreNodes}},Node=({isFirstNode,nodeChildrenMap,nodeCheckboxState,nodeExpandedState,handleSelectionChange,handleToggle,expandAll,onNodeClick,hideBorder,size,showItemsCount,renderRightContent,activeId,focusedNodeId,node,level,renderFn,isLastNodeOfList,ariaLabelExpand,ariaLabelCollapse,visibleNodeIndexMap})=>{let readOnly=null===nodeCheckboxState,hasChildren=node.children.length>0,expandedState=!!expandAll||!!nodeExpandedState[node.id],leafItems=getLeafNodeIds(nodeChildrenMap,node.id),totalItemsCount=leafItems.length,selectedItemsCount=nodeCheckboxState?leafItems.filter(leafId=>"checked"===nodeCheckboxState[leafId]).length:null,countLabel=nodeCheckboxState?`(${selectedItemsCount}/${totalItemsCount})`:`(${totalItemsCount})`,lastLeaf=!hasChildren&&!node.isFiltered,isExpanded=lastLeaf?void 0:expandedState,{children,...nodeDataWithoutChildren}=node,isFocused=focusedNodeId===node.id;return React.createElement(EntityTreeItem,{key:node.id,"data-list-item":visibleNodeIndexMap[node.id],hideBorder:hideBorder||isLastNodeOfList&&(!isExpanded||node.isFiltered),tabIndex:isFocused||null===focusedNodeId&&isFirstNode?0:-1,size:size,lSpaceStep:level,onSpaceEnterPress:()=>{if(readOnly){handleToggle(node.id),onNodeClick?.(nodeDataWithoutChildren);return}handleSelectionChange(node.id)},description:node.description,renderLabel:({textSize})=>React.createElement(React.Fragment,null,node.label,showItemsCount&&!lastLeaf&&React.createElement(Text,{as:"span",size:textSize,color:"tertiary"}," ",countLabel)),isActive:activeId===node.id,isExpanded:isExpanded,isDisabledExpand:expandAll,checkboxProps:!readOnly&&{size:"s",name:node.label,checked:nodeCheckboxState?.[node.id]==="checked",indeterminate:nodeCheckboxState?.[node.id]==="indeterminate",onChange:()=>handleSelectionChange(node.id)},onExpandClick:e=>{e.stopPropagation(),handleToggle(node.id)},isClickable:readOnly,onClick:()=>{handleToggle(node.id),onNodeClick?.(nodeDataWithoutChildren)},renderRight:renderRightContent?sizeProps=>renderRightContent({...sizeProps,...node}):void 0,ariaLabelExpand:ariaLabelExpand,ariaLabelCollapse:ariaLabelCollapse,"aria-label":node.label,"aria-level":level+1},hasChildren&&React.createElement("div",{role:"group"},renderFn({data:children,level:level+1,renderFn,isParentsLastOfLvl:isLastNodeOfList})))},makeRenderTreeBranches=renderTreeArgs=>({data,level,renderFn,isParentsLastOfLvl})=>data.map((node,i)=>{let isFirstNode=0===level&&0===i,isLastNodeOfList=getLastNodeOfList({node,data,level,isParentsLastOfLvl});return React.createElement(Node,{key:node.id,level:level,node:node,isFirstNode:isFirstNode,renderFn:renderFn,isLastNodeOfList:isLastNodeOfList,...renderTreeArgs})});export const BaseEntityTree=({ariaAttributes:deprecatedAriaAttributes,slotProps,data,selectedIds,onSelectionChange,onSelectionToggle,onNodeClick,expandedIds=[],onToggle,activeId,chunkSize=10,filterFn,onTreeChange,hideBorder=!1,size="m",showItemsCount=!0,showMoreButtonLabel,renderRightContent,"data-e2e-test-id":dataE2eTestId,...ariaAttributes})=>{let nodeChildrenMap=Object.assign({},...data.map(tree=>getNodeChildrenMap(tree))),nodeCheckboxState=selectedIds?Object.assign({},...data.map(tree=>getTreeCheckboxState(nodeChildrenMap,tree.id,selectedIds))):null,nodeExpandedState=expandedIds.reduce((acc,id)=>(acc[id]=!0,acc),{}),visibleActiveNodeId=getVisibleActiveNodeId(nodeChildrenMap,nodeExpandedState,activeId),handleExpand=useCallback(targetId=>{onToggle&&!expandedIds.includes(targetId)&&onToggle(expandedIds.concat([targetId]))},[expandedIds,onToggle]),handleCollapse=useCallback(targetId=>{onToggle&&expandedIds.includes(targetId)&&onToggle(expandedIds.filter(id=>id!==targetId))},[expandedIds,onToggle]),handleToggle=useCallback(targetId=>{expandedIds.includes(targetId)?handleCollapse(targetId):handleExpand(targetId)},[expandedIds,handleCollapse,handleExpand]),dataShown=filterFn?data.map(tree=>filterTree(tree,filterFn)).filter(Boolean):data;useEffect(()=>{onTreeChange&&onTreeChange(dataShown.map(tree=>mapTree(tree,node=>({...node,checkedState:!!nodeCheckboxState&&nodeCheckboxState[node.id],isExpanded:!!nodeExpandedState[node.id]}))))},[dataShown,nodeCheckboxState,nodeExpandedState,onTreeChange]);let expandAll=!!filterFn,{hasMoreNodes,handleIncreaseMaxNodeCount,result}=useTreeTruncation({chunkSize,data:dataShown,nodeExpandedState,expandAll}),listRef=React.useRef(null),visibleNodes=useMemo(()=>flattenTree(result,nodeExpandedState,expandAll),[result,nodeExpandedState,expandAll]),visibleNodeIndexMap=useMemo(()=>visibleNodes.reduce((acc,node,index)=>(acc[node.id]=index,acc),{}),[visibleNodes]),{moveFocus,focusedIndex}=useFocusByIndex({containerRef:listRef,nodeSelector:"data-list-item",data:useMemo(()=>visibleNodes.map(node=>({id:node.id,isDisabled:!!node.isDisabled})),[visibleNodes])}),focusedNodeId=focusedIndex>=0?visibleNodes[focusedIndex]?.id??null:null;useKeyboard({ArrowDown:()=>{moveFocus(1)},ArrowUp:()=>{moveFocus(-1)},ArrowRight:()=>{!expandAll&&focusedNodeId&&nodeChildrenMap[focusedNodeId]?.length&&!nodeExpandedState[focusedNodeId]&&handleExpand(focusedNodeId)},ArrowLeft:()=>{!expandAll&&focusedNodeId&&nodeChildrenMap[focusedNodeId]?.length&&nodeExpandedState[focusedNodeId]&&handleCollapse(focusedNodeId)}},listRef,!!visibleNodes.length);let renderTreeBranches=makeRenderTreeBranches({nodeChildrenMap,nodeCheckboxState,nodeExpandedState,handleSelectionChange:targetId=>{if(onSelectionChange){let isSelected,updatedSelectedIds=[];if(0===nodeChildrenMap[targetId].length)isSelected=!selectedIds.includes(targetId),updatedSelectedIds=selectedIds.includes(targetId)?selectedIds.filter(id=>id!==targetId):selectedIds.concat([targetId]);else{let affectedLeafNodeIds=getLeafNodeIds(nodeChildrenMap,targetId),hasUncheckedChildren=affectedLeafNodeIds.some(leafId=>!selectedIds.includes(leafId));updatedSelectedIds=hasUncheckedChildren?selectedIds.concat(affectedLeafNodeIds.filter(id=>!selectedIds.includes(id))):selectedIds.filter(id=>!affectedLeafNodeIds.includes(id)),isSelected=hasUncheckedChildren}onSelectionToggle?.(targetId,isSelected),onSelectionChange(updatedSelectedIds)}},handleToggle,onNodeClick:node=>{onNodeClick?.(node)},expandAll,hideBorder,size,showItemsCount,renderRightContent,activeId:visibleActiveNodeId,focusedNodeId,visibleNodeIndexMap,ariaLabelExpand:slotProps?.toggle?.["aria-label-expand"]??deprecatedAriaAttributes?.ariaLabelExpand,ariaLabelCollapse:slotProps?.toggle?.["aria-label-collapse"]??deprecatedAriaAttributes?.ariaLabelCollapse});return React.createElement("div",null,React.createElement(StyledList,{ref:listRef,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"EntityTree",size:size,...ariaAttributes,role:"tree","aria-multiselectable":!!nodeCheckboxState||void 0},renderTreeBranches({data:result,level:0,renderFn:renderTreeBranches})),hasMoreNodes&&React.createElement(StyledShowMore,null,React.createElement(Box,{alignText:"center",space:"xs"},React.createElement(Button,{fullWidth:!0,size:"s",variant:"tertiary",onClick:handleIncreaseMaxNodeCount},showMoreButtonLabel))))};
1
+ import React,{useMemo,useState,useEffect,useCallback}from"react";import{Button}from"../Button/Button";import{Box}from"../Box/Box";import{StyledList,StyledShowMore}from"../EntityList/styled-components";import{EntityTreeItem}from"./EntityTreeItem";import{useKeyboard}from"../../shared/useKeyboard";import{useFocusByIndex}from"../EntityList/useFocusByIndex";import{Text}from"../Typography/Text/Text";import{getNodeChildrenMap,getTreeCheckboxState,getVisibleActiveNodeId,getLeafNodeIds,filterTree,mapTree,trimDataByMaxSize}from"./tree";let flattenTree=(data,expandedIds,expadedAll)=>{let flattened=[];return data.forEach(node=>{flattened.push(node),(node.children.length>0&&expandedIds[node.id]||expadedAll)&&flattened.push(...flattenTree(node.children,expandedIds,expadedAll))}),flattened},getLastNodeOfList=({node,data,level,isParentsLastOfLvl})=>{let currentLastNodeOfLvl=node.id===data[data.length-1].id;return 0===level?currentLastNodeOfLvl:isParentsLastOfLvl&&currentLastNodeOfLvl},useTreeTruncation=({chunkSize,data,expandAll,nodeExpandedState})=>{let[maxNodesCount,setMaxNodesCount]=useState(chunkSize),{result,hasMoreNodes}=useMemo(()=>trimDataByMaxSize(data,nodeExpandedState,expandAll,maxNodesCount),[data,nodeExpandedState,expandAll,maxNodesCount]);return{handleIncreaseMaxNodeCount:useCallback(()=>{setMaxNodesCount(prev=>prev+chunkSize)},[chunkSize]),result,hasMoreNodes}},Node=({isFirstNode,nodeChildrenMap,nodeCheckboxState,nodeExpandedState,handleSelectionChange,handleToggle,expandAll,onNodeClick,hideBorder,size,showItemsCount,renderRightContent,activeId,focusedNodeId,node,level,renderFn,isLastNodeOfList,ariaLabelExpand,ariaLabelCollapse,visibleNodeIndexMap})=>{let readOnly=null===nodeCheckboxState,hasChildren=node.children.length>0,expandedState=!!expandAll||!!nodeExpandedState[node.id],leafItems=getLeafNodeIds(nodeChildrenMap,node.id),totalItemsCount=leafItems.length,selectedItemsCount=nodeCheckboxState?leafItems.filter(leafId=>"checked"===nodeCheckboxState[leafId]).length:null,countLabel=nodeCheckboxState?`(${selectedItemsCount}/${totalItemsCount})`:`(${totalItemsCount})`,lastLeaf=!hasChildren&&!node.isFiltered,isExpanded=lastLeaf?void 0:expandedState,{children,...nodeDataWithoutChildren}=node,isFocused=focusedNodeId===node.id;return React.createElement(EntityTreeItem,{key:node.id,"data-list-item":visibleNodeIndexMap[node.id],hideBorder:hideBorder||isLastNodeOfList&&(!isExpanded||node.isFiltered),tabIndex:isFocused||null===focusedNodeId&&isFirstNode?0:-1,size:size,lSpaceStep:level,onSpaceEnterPress:()=>{if(readOnly){handleToggle(node.id),onNodeClick?.(nodeDataWithoutChildren);return}handleSelectionChange(node.id)},description:node.description,renderLabel:({textSize})=>React.createElement(React.Fragment,null,node.label,showItemsCount&&!lastLeaf&&React.createElement(Text,{as:"span",size:textSize,color:"tertiary"}," ",countLabel)),isActive:activeId===node.id,isExpanded:isExpanded,isDisabledExpand:expandAll,checkboxProps:!readOnly&&{size:"s",name:node.label,checked:nodeCheckboxState?.[node.id]==="checked",indeterminate:nodeCheckboxState?.[node.id]==="indeterminate",onChange:()=>handleSelectionChange(node.id)},onExpandClick:e=>{e.stopPropagation(),handleToggle(node.id)},isClickable:readOnly,onClick:()=>{handleToggle(node.id),onNodeClick?.(nodeDataWithoutChildren)},renderRight:renderRightContent?renderRightProps=>renderRightContent({...renderRightProps,...node}):void 0,ariaLabelExpand:ariaLabelExpand,ariaLabelCollapse:ariaLabelCollapse,"aria-label":node.label,"aria-level":level+1},hasChildren&&React.createElement("div",{role:"group"},renderFn({data:children,level:level+1,renderFn,isParentsLastOfLvl:isLastNodeOfList})))},makeRenderTreeBranches=renderTreeArgs=>({data,level,renderFn,isParentsLastOfLvl})=>data.map((node,i)=>{let isFirstNode=0===level&&0===i,isLastNodeOfList=getLastNodeOfList({node,data,level,isParentsLastOfLvl});return React.createElement(Node,{key:node.id,level:level,node:node,isFirstNode:isFirstNode,renderFn:renderFn,isLastNodeOfList:isLastNodeOfList,...renderTreeArgs})});export const BaseEntityTree=({ariaAttributes:deprecatedAriaAttributes,slotProps,data,selectedIds,onSelectionChange,onSelectionToggle,onNodeClick,expandedIds=[],onToggle,activeId,chunkSize=10,filterFn,onTreeChange,hideBorder=!1,size="m",showItemsCount=!0,showMoreButtonLabel,renderRightContent,"data-e2e-test-id":dataE2eTestId,...ariaAttributes})=>{let nodeChildrenMap=Object.assign({},...data.map(tree=>getNodeChildrenMap(tree))),nodeCheckboxState=selectedIds?Object.assign({},...data.map(tree=>getTreeCheckboxState(nodeChildrenMap,tree.id,selectedIds))):null,nodeExpandedState=expandedIds.reduce((acc,id)=>(acc[id]=!0,acc),{}),visibleActiveNodeId=getVisibleActiveNodeId(nodeChildrenMap,nodeExpandedState,activeId),handleExpand=useCallback(targetId=>{onToggle&&!expandedIds.includes(targetId)&&onToggle(expandedIds.concat([targetId]))},[expandedIds,onToggle]),handleCollapse=useCallback(targetId=>{onToggle&&expandedIds.includes(targetId)&&onToggle(expandedIds.filter(id=>id!==targetId))},[expandedIds,onToggle]),handleToggle=useCallback(targetId=>{expandedIds.includes(targetId)?handleCollapse(targetId):handleExpand(targetId)},[expandedIds,handleCollapse,handleExpand]),dataShown=filterFn?data.map(tree=>filterTree(tree,filterFn)).filter(Boolean):data;useEffect(()=>{onTreeChange&&onTreeChange(dataShown.map(tree=>mapTree(tree,node=>({...node,checkedState:!!nodeCheckboxState&&nodeCheckboxState[node.id],isExpanded:!!nodeExpandedState[node.id]}))))},[dataShown,nodeCheckboxState,nodeExpandedState,onTreeChange]);let expandAll=!!filterFn,{hasMoreNodes,handleIncreaseMaxNodeCount,result}=useTreeTruncation({chunkSize,data:dataShown,nodeExpandedState,expandAll}),listRef=React.useRef(null),visibleNodes=useMemo(()=>flattenTree(result,nodeExpandedState,expandAll),[result,nodeExpandedState,expandAll]),visibleNodeIndexMap=useMemo(()=>visibleNodes.reduce((acc,node,index)=>(acc[node.id]=index,acc),{}),[visibleNodes]),{moveFocus,focusedIndex}=useFocusByIndex({containerRef:listRef,nodeSelector:"data-list-item",data:useMemo(()=>visibleNodes.map(node=>({id:node.id,isDisabled:!!node.isDisabled})),[visibleNodes])}),focusedNodeId=focusedIndex>=0?visibleNodes[focusedIndex]?.id??null:null;useKeyboard({ArrowDown:()=>{moveFocus(1)},ArrowUp:()=>{moveFocus(-1)},ArrowRight:()=>{!expandAll&&focusedNodeId&&nodeChildrenMap[focusedNodeId]?.length&&!nodeExpandedState[focusedNodeId]&&handleExpand(focusedNodeId)},ArrowLeft:()=>{!expandAll&&focusedNodeId&&nodeChildrenMap[focusedNodeId]?.length&&nodeExpandedState[focusedNodeId]&&handleCollapse(focusedNodeId)}},listRef,!!visibleNodes.length);let renderTreeBranches=makeRenderTreeBranches({nodeChildrenMap,nodeCheckboxState,nodeExpandedState,handleSelectionChange:targetId=>{if(onSelectionChange){let isSelected,updatedSelectedIds=[];if(0===nodeChildrenMap[targetId].length)isSelected=!selectedIds.includes(targetId),updatedSelectedIds=selectedIds.includes(targetId)?selectedIds.filter(id=>id!==targetId):selectedIds.concat([targetId]);else{let affectedLeafNodeIds=getLeafNodeIds(nodeChildrenMap,targetId),hasUncheckedChildren=affectedLeafNodeIds.some(leafId=>!selectedIds.includes(leafId));updatedSelectedIds=hasUncheckedChildren?selectedIds.concat(affectedLeafNodeIds.filter(id=>!selectedIds.includes(id))):selectedIds.filter(id=>!affectedLeafNodeIds.includes(id)),isSelected=hasUncheckedChildren}onSelectionToggle?.(targetId,isSelected),onSelectionChange(updatedSelectedIds)}},handleToggle,onNodeClick:node=>{onNodeClick?.(node)},expandAll,hideBorder,size,showItemsCount,renderRightContent,activeId:visibleActiveNodeId,focusedNodeId,visibleNodeIndexMap,ariaLabelExpand:slotProps?.toggle?.["aria-label-expand"]??deprecatedAriaAttributes?.ariaLabelExpand,ariaLabelCollapse:slotProps?.toggle?.["aria-label-collapse"]??deprecatedAriaAttributes?.ariaLabelCollapse});return React.createElement("div",null,React.createElement(StyledList,{ref:listRef,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"EntityTree",size:size,...ariaAttributes,role:"tree","aria-multiselectable":!!nodeCheckboxState||void 0},renderTreeBranches({data:result,level:0,renderFn:renderTreeBranches})),hasMoreNodes&&React.createElement(StyledShowMore,null,React.createElement(Box,{alignText:"center",space:"xs"},React.createElement(Button,{fullWidth:!0,size:"s",variant:"tertiary",onClick:handleIncreaseMaxNodeCount},showMoreButtonLabel))))};
@@ -2,6 +2,7 @@ import type { FormEvent, ChangeEvent, ReactNode, ReactElement } from "react";
2
2
  import type { IconName } from "src";
3
3
  import type { FormFieldGroupProps } from "src/components/Form/FormFieldGroup/FormFieldGroup";
4
4
  import type { TooltipProps } from "src/components/Tooltip/Tooltip";
5
+ import type { SlotProps } from "src/shared/slotProps";
5
6
  export type RenderOptionWrapperProps = {
6
7
  option: ReactNode;
7
8
  checked: boolean;
@@ -21,6 +22,11 @@ export type SegmentedControlOption = {
21
22
  onBlur?: (e: FormEvent<HTMLInputElement>) => void;
22
23
  onFocus?: (e: FormEvent<HTMLInputElement>) => void;
23
24
  onTooltipVisibilityChange?: TooltipProps["onVisibilityChange"];
25
+ slotProps?: SlotProps<{
26
+ icon: {
27
+ ariaLabel?: string;
28
+ };
29
+ }>;
24
30
  } & ({
25
31
  iconName?: never;
26
32
  sublabel?: string;
@@ -1,3 +1,3 @@
1
1
  import React from "react";
2
2
  import type { SegmentedControlOptionProps } from "./-types";
3
- export declare function SegmentedControlOption({ name, value, checked, label, sublabel, iconName, iconOnly, tooltipContent, tooltipPlacement, tooltipPortalContainer, size, disabled, isResponsive, displayAsOptionWithSublabel, onChange, onClick, onBlur, onFocus, onTooltipVisibilityChange, }: SegmentedControlOptionProps): React.ReactElement;
3
+ export declare function SegmentedControlOption({ name, value, checked, label, sublabel, iconName, iconOnly, slotProps, tooltipContent, tooltipPlacement, tooltipPortalContainer, size, disabled, isResponsive, displayAsOptionWithSublabel, onChange, onClick, onBlur, onFocus, onTooltipVisibilityChange, }: SegmentedControlOptionProps): React.ReactElement;