@pega/cosmos-react-core 9.0.0-build.16.3 → 9.0.0-build.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/lib/components/AppShell/AppShell.d.ts.map +1 -1
  2. package/lib/components/AppShell/AppShell.js +6 -1
  3. package/lib/components/AppShell/AppShell.js.map +1 -1
  4. package/lib/components/Badges/Keyboard.d.ts.map +1 -1
  5. package/lib/components/Badges/Keyboard.js +8 -2
  6. package/lib/components/Badges/Keyboard.js.map +1 -1
  7. package/lib/components/KeyboardCommands/KeyboardCommands.d.ts +6 -0
  8. package/lib/components/KeyboardCommands/KeyboardCommands.d.ts.map +1 -0
  9. package/lib/components/KeyboardCommands/KeyboardCommands.js +73 -0
  10. package/lib/components/KeyboardCommands/KeyboardCommands.js.map +1 -0
  11. package/lib/components/KeyboardCommands/index.d.ts +3 -0
  12. package/lib/components/KeyboardCommands/index.d.ts.map +1 -0
  13. package/lib/components/KeyboardCommands/index.js +3 -0
  14. package/lib/components/KeyboardCommands/index.js.map +1 -0
  15. package/lib/components/ListToolbar/ListToolbar.d.ts +1 -1
  16. package/lib/components/ListToolbar/ListToolbar.d.ts.map +1 -1
  17. package/lib/components/ListToolbar/ListToolbar.js +6 -42
  18. package/lib/components/ListToolbar/ListToolbar.js.map +1 -1
  19. package/lib/components/ListToolbar/ListToolbar.styles.d.ts +0 -1
  20. package/lib/components/ListToolbar/ListToolbar.styles.d.ts.map +1 -1
  21. package/lib/components/ListToolbar/ListToolbar.styles.js +0 -5
  22. package/lib/components/ListToolbar/ListToolbar.styles.js.map +1 -1
  23. package/lib/components/ListToolbar/ListToolbar.test-ids.d.ts +1 -1
  24. package/lib/components/ListToolbar/ListToolbar.test-ids.d.ts.map +1 -1
  25. package/lib/components/ListToolbar/ListToolbar.test-ids.js +0 -1
  26. package/lib/components/ListToolbar/ListToolbar.test-ids.js.map +1 -1
  27. package/lib/components/ListToolbar/ListToolbar.types.d.ts +0 -2
  28. package/lib/components/ListToolbar/ListToolbar.types.d.ts.map +1 -1
  29. package/lib/components/ListToolbar/ListToolbar.types.js.map +1 -1
  30. package/lib/components/SkipLinks/SkipLinks.d.ts +0 -1
  31. package/lib/components/SkipLinks/SkipLinks.d.ts.map +1 -1
  32. package/lib/components/SkipLinks/SkipLinks.js +10 -53
  33. package/lib/components/SkipLinks/SkipLinks.js.map +1 -1
  34. package/lib/components/SkipLinks/SkipLinks.styles.d.ts +6 -0
  35. package/lib/components/SkipLinks/SkipLinks.styles.d.ts.map +1 -0
  36. package/lib/components/SkipLinks/SkipLinks.styles.js +61 -0
  37. package/lib/components/SkipLinks/SkipLinks.styles.js.map +1 -0
  38. package/lib/components/SkipLinks/index.d.ts +1 -1
  39. package/lib/components/SkipLinks/index.d.ts.map +1 -1
  40. package/lib/components/SkipLinks/index.js +1 -1
  41. package/lib/components/SkipLinks/index.js.map +1 -1
  42. package/lib/hooks/useFocusTrap.d.ts.map +1 -1
  43. package/lib/hooks/useFocusTrap.js +1 -0
  44. package/lib/hooks/useFocusTrap.js.map +1 -1
  45. package/lib/hooks/useI18n.d.ts +9 -1
  46. package/lib/hooks/useI18n.d.ts.map +1 -1
  47. package/lib/i18n/default.d.ts +9 -1
  48. package/lib/i18n/default.d.ts.map +1 -1
  49. package/lib/i18n/default.js +10 -1
  50. package/lib/i18n/default.js.map +1 -1
  51. package/lib/i18n/i18n.d.ts +9 -1
  52. package/lib/i18n/i18n.d.ts.map +1 -1
  53. package/lib/index.d.ts +2 -0
  54. package/lib/index.d.ts.map +1 -1
  55. package/lib/index.js +2 -0
  56. package/lib/index.js.map +1 -1
  57. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ListToolbar.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtF,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,OAAO,EACP,UAAU,EACV,MAAM,EACP,MAAM,aAAa,CAAC;AACrB,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,eAAe,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,UAAU,EACV,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAS9B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,YAAY,CACV,UAAU,EACV,eAAe,EACf,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,YAAY,CACb,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,SAAS,EAAqD,EAAE,EAAE;IAC/F,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACtC,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,MAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE;QACzD,MAAM;QACN,OAAO,EAAE;YACP,WAAW,EAAE,IAAI;SAClB;KACF,CAAC,CAAC;IACH,OAAO,CACL,KAAC,eAAe,IAAC,OAAO,EAAC,WAAW,KAAK,SAAS,YAC/C,KAAK,CAAC,QAAQ;YACb,CAAC,CAAC,CAAC,CACC,gBAAgB,EAChB,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAC1E,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAC1B;YACH,CAAC,CAAC,CAAC,CACC,eAAe,EACf,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,mBAAmB,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,EACtE;gBACE,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CACF,GACW,CACnB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,IAAe,EACf,KAA8C,EAC9C,OAGC,EACD,EAAE;IACF,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,IAC9E,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAC/D,EAAE,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,WAAW,GAAsD,UAAU,CAC/E,SAAS,WAAW,CAClB,EACE,MAAM,EACN,IAAI,EACJ,UAAU,GAAG,IAAI,EACjB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,oBAAoB,EACpB,MAAM,EACN,KAAK,EACL,IAAI,EACJ,iBAAiB,EACjB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,GAAG,SAAS,EACsB,EACpC,GAA4B;IAE5B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAE1D,MAAM,4BAA4B,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC1E,MAAM,iBAAiB,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,UAAU,EAAqB,CAAC;IAC9D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACjF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,UAAU,CAAoB,IAAI,CAAC,CAAC;IAEhE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YAClB,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,IAAI,MAAM,EAAE,KAAK;YAAE,OAAO;QAC3C,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC;QAC3D,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,cAAc,GAAG,CAAC,CAAa,EAAE,EAAE;YACvC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,aAA4B,CAAC,EAAE,CAAC;gBAC7E,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;QAEF,YAAY,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE1D,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC/D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAElC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAuB,IAAI,CAAC,CAAC;IAC7F,MAAM,wBAAwB,GAAG,MAAM,EAAqB,CAAC;IAE7D,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAC3D,QAAQ,EAAoD,CAAC;IAC/D,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,SAAS,EAAE,OAAO;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;QAEhD,OAAO,CACL,KAAC,MAAM,mBACQ,OAAO,CAAC,SAAS,EAC9B,OAAO,EAAC,QAAQ,EAChB,IAAI,QACJ,KAAK,EAAE,IAAI,gBACC,IAAI,EAChB,OAAO,EAAE,SAAS,CAAC,OAAO,YAE1B,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,GACb,CACV,CAAC;IACJ,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEnC,MAAM,0BAA0B,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC;QAExC,OAAO,CACL,8BACE,KAAC,MAAM,mBACQ,OAAO,CAAC,oBAAoB,EACzC,OAAO,EAAC,QAAQ,EAChB,IAAI,QACJ,KAAK,EAAE,IAAI,EACX,OAAO,EAAE,CAAC,CAAgC,EAAE,EAAE;wBAC5C,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;oBAC7B,CAAC,YAED,KAAC,IAAI,IAAC,IAAI,EAAC,UAAU,GAAG,GACjB,EAER,MAAM,IAAI,CACT,KAAC,gBAAgB,IACf,OAAO,EAAE,IAAI,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,GAAG,EAAE;wBACd,SAAS,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC,YAEA,oBAAoB,GACJ,CACpB,IACA,CACJ,CAAC;IACJ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAEhC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE3E,OAAO,CACL,KAAC,MAAM,mBACQ,OAAO,CAAC,UAAU,EAC/B,OAAO,EAAC,QAAQ,EAChB,IAAI,QACJ,KAAK,EAAE,IAAI,gBACC,IAAI,EAChB,OAAO,EAAE,IAAI,CAAC,OAAO,YAErB,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAI,GACzC,CACV,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9B,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,CACJ,KAAC,WAAW,mBACG,OAAO,CAAC,WAAW,KAC5B,MAAM,EACV,cAAc,EAAE,CAAC,KAAa,EAAE,EAAE;YAChC,MAAM,EAAE,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,EACD,OAAO,EAAE,CAAC,CAA+B,EAAE,EAAE;YAC3C,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC,EACD,GAAG,EAAE,cAAc,GACnB,CACH,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,OAAO,YAAY,CAAC,CAAC,CAAC,CACpB,WAAW,CACZ,CAAC,CAAC,CAAC,CACF,KAAC,wBAAwB,mBACV,OAAO,CAAC,YAAY,EACjC,OAAO,EAAC,QAAQ,EAChB,IAAI,QACJ,KAAK,EAAE,WAAW,gBACN,CAAC,CAAC,eAAe,CAAC,EAC9B,OAAO,EAAE,GAAG,EAAE;gBACZ,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtB,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACpD,CAAC,EACD,SAAS,EAAE,CAAC,CAA6B,EAAE,EAAE;gBAC3C,IAAI,CAAC,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;oBAChF,eAAe,CAAC,IAAI,CAAC,CAAC;oBACtB,UAAU,CAAC,GAAG,EAAE;wBACd,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;wBAChC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;oBACnC,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,EACD,GAAG,EAAE,eAAe,YAEpB,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,GAAG,GACG,CAC5B,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAE9D,IAAI,kBAAkB,GAAG,IAAI,CAAC;IAC9B,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,gBAAgB,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,oBAAoB,CAAC,CAAC;QACvE,IACE,gBAAgB;YAChB,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC;YACrC,wBAAwB,CAAC,OAAO,EAChC,CAAC;YACD,kBAAkB,GAAG,CACnB,KAAC,uBAAuB,IACtB,MAAM,EAAE,wBAAwB,CAAC,OAAO,EACxC,OAAO,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAChC,SAAS,EAAC,YAAY,EACtB,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAI,gBAAgB,CAAC,QAAQ,EAAE,KAAK,KAAK;wBAAE,OAAO;oBAClD,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAI,gBAAgB,CAAC,QAAQ,EAAE,KAAK,KAAK;wBAAE,OAAO;oBAClD,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC,YAED,KAAC,gBAAgB,CAAC,QAAQ,OAAK,CAAC,gBAAgB,CAAC,aAAa,IAAI,EAAE,CAAC,GAAI,GACjD,CAC3B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,0BAA0B,GAAG,IAAI,CAAC;IACtC,IAAI,MAAM,EAAE,CAAC;QACX,0BAA0B,GAAG,CAC3B,KAAC,gBAAgB,IACf,OAAO,EAAE,CAAC,CAAC,uBAAuB,CAAC,EACnC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,GAAG,EAAE;gBACd,SAAS,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,YAEA,oBAAoB,GACJ,CACpB,CAAC;IACJ,CAAC;IAED,MAAM,oBAAoB,GAAG,WAAW,CACtC,CACE,EAA+B,EAC/B,IAAY,EACZ,gBAA0D,EAC1D,EAAE;QACF,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACX,EAAE;YACF,IAAI;YACJ,KAAK,EAAE,gBAAgB,CAAC,KAAK;YAC7B,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE,CAAC;oBAC1C,uBAAuB,CAAC,EAAE,CAAC,CAAC;oBAC5B,wBAAwB,CAAC,OAAO,GAAG,4BAA4B,CAAC,OAAO,IAAI,SAAS,CAAC;gBACvF,CAAC;gBACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,CAAC;oBACvC,2BAA2B,CAAC;wBAC1B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;wBACd,IAAI,EAAE;4BACJ,IAAI,EAAE,gBAAgB,CAAC,IAAI;4BAC3B,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;4BAC5E,WAAW,EAAE,gBAAgB,CAAC,WAAW;yBAC1C;qBACF,CAAC,CAAC;oBACH,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,YAAY,GAAW,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9E,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,UAAU,GAAW,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;YAC/E,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,WAAW,GAAW,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACxE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAEzD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC;YACxC,MAAM,0BAA0B,GAAW;gBACzC,IAAI;gBACJ,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,GAAG,EAAE;oBACZ,SAAS,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;gBACD,aAAa,EAAE,OAAO,CAAC,oBAAoB;aAC5C,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,eAAe,GAAW;gBAC9B,IAAI;gBACJ,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,aAAa,EAAE,OAAO,CAAC,SAAS;aACjC,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAW;gBACzB,IAAI;gBACJ,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;gBACtC,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClC,aAAa,EAAE,OAAO,CAAC,UAAU;aAClC,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC,EAAE;QACD,oBAAoB;QACpB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,OAAO;QAClB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,gBAAgB;KACjB,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEvD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,gBAAgB,GACpB,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzE,SAAS,GAAG,GAAG,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,CACL,MAAC,IAAI,mBACU,OAAO,CAAC,IAAI,EACzB,SAAS,WACL,SAAS,EACb,EAAE,EAAE,iBAAiB,EACrB,GAAG,EAAE,GAAG,EACR,cAAc,EAAE,cAAc,aAE9B,MAAC,wBAAwB,IACvB,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAClC,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aAEjB,MAAC,IAAI,IACH,SAAS,EAAE;4BACT,UAAU,EAAE,QAAQ;4BACpB,OAAO,EAAE,SAAS;4BAClB,SAAS,EAAE,KAAK;yBACjB,aAED,MAAC,IAAI,IACH,SAAS,EAAE;oCACT,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;oCACjD,OAAO,EAAE,SAAS;oCAClB,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;iCACjD,EACD,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aAEjB,MAAC,IAAI,IACH,SAAS,EAAE;4CACT,UAAU,EAAE,QAAQ;4CACpB,GAAG,EAAE,CAAC;yCACP,EACD,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aAEjB,KAAC,iBAAiB,mBACH,OAAO,CAAC,OAAO,EAC5B,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,sBAClB,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,YAEnE,CAAC,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CACjD,SAAS,CACV,CAAC,CAAC,CAAC,CACF,8BACE,KAAC,UAAU,IACT,GAAG,EAAE,UAAU,iBACF,OAAO,CAAC,YAAY,EACjC,OAAO,EAAC,MAAM,EACd,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE;gEACJ,IAAI,EAAE,eAAe;gEACrB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oEACnC,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;wEAC3B,OAAO;4EACL,EAAE,EAAE,IAAI,CAAC,IAAI;4EACb,KAAK,EAAE,IAAI,CAAC,IAAI;4EAChB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;gFAClC,OAAO;oFACL,GAAG,WAAW;oFACd,OAAO,EAAE,gBAAgB,CACvB,WAAW,EACX,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,EACvD;wFACE,SAAS,EAAE,YAAY,CAAC,SAAS;wFACjC,YAAY,EAAE,YAAY,CAAC,YAAY;qFACxC,CACF;oFACD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAC3B,KAAC,MAAM,OAAK,WAAW,CAAC,MAAM,GAAI,CACnC,CAAC,CAAC,CAAC,SAAS;iFACd,CAAC;4EACJ,CAAC,CAAC;yEACH,CAAC;oEACJ,CAAC;oEAED,OAAO;wEACL,GAAG,IAAI;wEACP,OAAO,EAAE,gBAAgB,CACvB,IAAI,EACJ,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,EACvD;4EACE,SAAS,EAAE,YAAY,CAAC,SAAS;4EACjC,YAAY,EAAE,YAAY,CAAC,YAAY;yEACxC,CACF;wEACD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAC,MAAM,OAAK,IAAI,CAAC,MAAM,GAAI,CAAC,CAAC,CAAC,SAAS;qEAC9D,CAAC;gEACJ,CAAC,CAAC;gEACF,WAAW,EAAE,YAAY,CAAC,YAAY;6DACvC,GACD,EACD,OAAO,IAAI,CACV,KAAC,OAAO,IAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAC,MAAM,EAAC,KAAK,kBACpE,SAAS,GACF,CACX,IACA,CACJ,GACiB,EACnB,gBAAgB,EAAE,cAAc,IAAI,CACnC,KAAC,cAAc,IACb,OAAO,EAAE,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAChD,eAAe,EAAE,SAAS,YAEzB,gBAAgB,CAAC,cAAc,CAAC,OAAO,GACzB,CAClB,EACA,cAAc,IAAI,KAAK,IAAI,KAAC,SAAS,mBAAc,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,IAC9E,EACP,8BACG,cAAc,IAAI,iBAAiB,EACnC,MAAM,IAAI,cAAc,IAAI,gBAAgB,EAC5C,cAAc,IAAI,oBAAoB,IAAI,0BAA0B,EACpE,cAAc,IAAI,eAAe,EACjC,cAAc,IAAI,UAAU,EAC5B,cAAc,IAAI,KAAC,gBAAgB,KAAG,EACtC,cAAc,IAAI,gBAAgB,IAAI,CACrC,KAAC,OAAO,IACN,eAAe,EAAE,SAAS,EAC1B,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;oDAC7D,GAAG,eAAe;oDAClB,MAAM,EAAE,IAAI,IAAI,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,GAAI;iDACrC,CAAC,CAAC,EACH,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,4BAA4B,GACjC,CACH,EACA,CAAC,cAAc,IAAI,KAAK,IAAI,CAC3B,KAAC,SAAS,mBAAc,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CACxD,IACA,IACE,EACN,CAAC,cAAc,IAAI,CAClB,8BACE,KAAC,gBAAgB,KAAG,EACnB,kBAAkB,IAAI,CACrB,KAAC,OAAO,IACN,eAAe,EAAE,SAAS,EAC1B,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;4CAC/D,GAAG,eAAe;4CAClB,MAAM,EAAE,IAAI,IAAI,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,GAAI;yCACrC,CAAC,CAAC,EACH,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,4BAA4B,GACjC,CACH,IACA,CACJ,IACI,EACN,CAAC,cAAc,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC7D,KAAC,qBAAqB,IAAC,SAAS,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAC3E,MAAC,IAAI,IACH,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAC/E,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aAEhB,MAAM,IAAI,WAAW,EACrB,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,iBAAiB,IAC1C,GACe,CACzB,EACA,gBAAgB,EAAE,IAAI,IAAI,CACzB,MAAC,UAAU,IACT,IAAI,EACF,gBAAgB,CAAC,MAAM,KAAK,OAAO,IAAI,gBAAgB,CAAC,MAAM,KAAK,SAAS;4BAC1E,CAAC,CAAC,OAAO;4BACT,CAAC,CAAC,SAAS,EAEf,EAAE,EAAE,GAAG,GAAG,OAAO,iBACJ,OAAO,CAAC,IAAI,EACzB,MAAM,EAAE,gBAAgB,CAAC,MAAM,aAE9B,gBAAgB,CAAC,MAAM,KAAK,OAAO,IAAI,CACtC,8BACE,KAAC,eAAe,IAAC,IAAI,EAAC,YAAY,GAAG,EACrC,KAAC,kBAAkB,cAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,GAAsB,IAC3D,CACJ,EACA,gBAAgB,CAAC,IAAI,IACX,CACd,IACwB,EAE1B,kBAAkB,EAClB,CAAC,cAAc,IAAI,0BAA0B,EAE9C,KAAC,iBAAiB,IAChB,SAAS,EAAE,4BAA4B,EACvC,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAC1C,IAAI,EAAE,wBAAwB,EAAE,IAAI,EACpC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAC7C,IACG,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,WAAW,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC","sourcesContent":["import { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { KeyboardEvent, PropsWithoutRef, MouseEvent } from 'react';\n\nimport VisuallyHiddenText from '../VisuallyHiddenText';\nimport Actions from '../Actions';\nimport Button from '../Button';\nimport type { Action, ForwardRefForwardPropsComponent } from '../../types';\nimport {\n useBreakpoint,\n useConfiguration,\n useConsolidatedRef,\n useElement,\n useI18n,\n useTestIds,\n useUID\n} from '../../hooks';\nimport Flex from '../Flex';\nimport SearchInput from '../SearchInput';\nimport Icon, { registerIcon } from '../Icon';\nimport * as filterIcon from '../Icon/icons/filter.icon';\nimport * as arrowUpDownIcon from '../Icon/icons/arrow-up-down.icon';\nimport * as rowIcon from '../Icon/icons/row.icon';\nimport * as plusIcon from '../Icon/icons/plus.icon';\nimport * as moreIcon from '../Icon/icons/more.icon';\nimport * as wrapIcon from '../Icon/icons/wrap.icon';\nimport * as unwrapIcon from '../Icon/icons/unwrap.icon';\nimport * as keyboardIcon from '../Icon/icons/keyboard.icon';\nimport { hasProp, withTestIds } from '../../utils';\nimport { formatNumber } from '../Number';\nimport MenuButton from '../MenuButton';\nimport Avatar from '../Avatar';\nimport AdditionalInfo from '../AdditionalInfo';\nimport FullscreenButton from '../Fullscreen/FullscreenButton';\nimport Tooltip from '../Tooltip';\n\nimport PresetMenuPopover from './PresetMenuPopover';\nimport type { PresetMenuPopoverProps } from './PresetMenuPopover';\nimport {\n StyledViewSelector,\n StyledSearchForm,\n StyledListToolbar,\n StyledHeadingText,\n StyledCountMeta,\n StyledListToolbarContent,\n StyledListToolbarDialog,\n StyledErrorIcon,\n StyledInfo,\n StyledSearchContainer,\n StyledExpandSearchButton,\n StyledInfoDialog\n} from './ListToolbar.styles';\nimport type {\n ListToolbarProps,\n PresetMenuProps,\n QueryOptionDialogProps,\n QueryOptionId,\n ViewProps,\n ViewSelectorProps\n} from './ListToolbar.types';\nimport helpers from './helpers';\nimport { getListToolbarTestIds } from './ListToolbar.test-ids';\n\nregisterIcon(\n filterIcon,\n arrowUpDownIcon,\n rowIcon,\n plusIcon,\n moreIcon,\n wrapIcon,\n unwrapIcon,\n keyboardIcon\n);\n\nconst CountMeta = ({ count, ...restProps }: { count: NonNullable<ListToolbarProps['count']> }) => {\n const { locale } = useConfiguration();\n const t = useI18n();\n const totalFormattedValue = formatNumber(count.total ?? 0, {\n locale,\n options: {\n useGrouping: true\n }\n });\n return (\n <StyledCountMeta variant='secondary' {...restProps}>\n {count.selected\n ? t(\n 'selected_count',\n [formatNumber(count.selected, { locale, options: { useGrouping: true } })],\n { count: count.selected }\n )\n : t(\n 'results_count',\n [count.totalHasMore ? `${totalFormattedValue}+` : totalFormattedValue],\n {\n count: count.total\n }\n )}\n </StyledCountMeta>\n );\n};\n\nconst generateViewName = (\n view: ViewProps,\n texts: { default: string; appDefault: string },\n options: {\n defaultId?: ViewSelectorProps['defaultId'];\n appDefaultId?: ViewSelectorProps['appDefaultId'];\n }\n) => {\n return `${view.text} ${view.id === options.defaultId ? `(${texts.default})` : ''} ${\n view.id === options.appDefaultId ? `(${texts.appDefault})` : ''\n }`;\n};\n\nconst ListToolbar: ForwardRefForwardPropsComponent<ListToolbarProps> = forwardRef(\n function ListToolbar(\n {\n testId,\n name,\n headingTag = 'h2',\n viewSelector,\n formControlProps,\n createNew,\n keyboardInstructions,\n search,\n count,\n wrap,\n additionalActions,\n filter,\n sort,\n group,\n actions,\n actionsButtonRef,\n ...restProps\n }: PropsWithoutRef<ListToolbarProps>,\n ref: ListToolbarProps['ref']\n ) {\n const uid = useUID();\n const t = useI18n();\n const testIds = useTestIds(testId, getListToolbarTestIds);\n\n const consolidatedActionsButtonRef = useConsolidatedRef(actionsButtonRef);\n const toolbarContentRef = useRef<HTMLDivElement>(null);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const searchButtonRef = useRef<HTMLButtonElement>(null);\n const [labelEl, setLabelEl] = useElement<HTMLButtonElement>();\n const [isSearchOpen, setIsSearchOpen] = useState(!!search?.value);\n const isSmallOrAbove = useBreakpoint('sm', { breakpointRef: toolbarContentRef });\n const [target, setTarget] = useElement<HTMLButtonElement>(null);\n\n useEffect(() => {\n if (search?.value) {\n setIsSearchOpen(true);\n }\n }, [search?.value]);\n\n useEffect(() => {\n if (!isSearchOpen || search?.value) return;\n const openedSearch = searchInputRef.current?.parentElement;\n if (!openedSearch) return;\n\n const handleFocusOut = (e: FocusEvent) => {\n if (!search?.value && !openedSearch.contains(e.relatedTarget as HTMLElement)) {\n setIsSearchOpen(false);\n }\n };\n\n openedSearch.addEventListener('focusout', handleFocusOut);\n\n return () => {\n openedSearch.removeEventListener('focusout', handleFocusOut);\n };\n }, [isSearchOpen, search?.value]);\n\n const [currentQueryOptionId, setCurrentQueryOptionId] = useState<QueryOptionId | null>(null);\n const queryOptionPopoverTarget = useRef<HTMLButtonElement>();\n\n const [actionsQueryOptionPreset, setActionsQueryOptionPreset] =\n useState<Pick<PresetMenuPopoverProps, 'heading' | 'menu'>>();\n const [optionPresetMenuOpen, setOptionPresetMenuOpen] = useState(false);\n\n const createNewButton = useMemo(() => {\n if (!createNew?.onClick) return null;\n const text = createNew.label ?? t('create_new');\n\n return (\n <Button\n data-testid={testIds.createNew}\n variant='simple'\n icon\n label={text}\n aria-label={text}\n onClick={createNew.onClick}\n >\n <Icon name='plus' />\n </Button>\n );\n }, [t, createNew, isSmallOrAbove]);\n\n const keyboardInstructionsButton = useMemo(() => {\n const text = t('keyboard_instructions');\n\n return (\n <>\n <Button\n data-testid={testIds.keyboardInstructions}\n variant='simple'\n icon\n label={text}\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n setTarget(e.currentTarget);\n }}\n >\n <Icon name='keyboard' />\n </Button>\n\n {target && (\n <StyledInfoDialog\n heading={text}\n target={target}\n onDismiss={() => {\n setTarget(null);\n }}\n >\n {keyboardInstructions}\n </StyledInfoDialog>\n )}\n </>\n );\n }, [t, target, isSmallOrAbove]);\n\n const wrapButton = useMemo(() => {\n if (!wrap) return null;\n\n const text = wrap.enabled ? t('disable_word_wrap') : t('enable_word_wrap');\n\n return (\n <Button\n data-testid={testIds.wrapButton}\n variant='simple'\n icon\n label={text}\n aria-label={text}\n onClick={wrap.onClick}\n >\n <Icon name={wrap.enabled ? 'unwrap' : 'wrap'} />\n </Button>\n );\n }, [wrap, isSmallOrAbove, t]);\n\n const searchInput = useMemo(\n () => (\n <SearchInput\n data-testid={testIds.searchInput}\n {...search}\n onSearchSubmit={(value: string) => {\n search?.onSearchSubmit?.(value);\n }}\n onClick={(e: MouseEvent<HTMLInputElement>) => {\n e.preventDefault();\n }}\n ref={searchInputRef}\n />\n ),\n [search]\n );\n\n const searchLabel = t('search');\n const expandableSearch = useMemo(() => {\n return isSearchOpen ? (\n searchInput\n ) : (\n <StyledExpandSearchButton\n data-testid={testIds.searchButton}\n variant='simple'\n icon\n label={searchLabel}\n aria-label={t('expand_search')}\n onClick={() => {\n setIsSearchOpen(true);\n setTimeout(() => searchInputRef.current?.focus());\n }}\n onKeyDown={(e: KeyboardEvent<HTMLElement>) => {\n if (e.target !== searchInputRef.current && (e.key === 'Enter' || e.key === ' ')) {\n setIsSearchOpen(true);\n setTimeout(() => {\n searchInputRef.current?.focus();\n searchInputRef.current?.select();\n });\n }\n }}\n ref={searchButtonRef}\n >\n <Icon name='search' />\n </StyledExpandSearchButton>\n );\n }, [searchLabel, setIsSearchOpen, isSearchOpen, searchInput]);\n\n let queryOptionPopover = null;\n if (currentQueryOptionId) {\n const queryOptionProps = { filter, sort, group }[currentQueryOptionId];\n if (\n queryOptionProps &&\n hasProp(queryOptionProps, 'renderer') &&\n queryOptionPopoverTarget.current\n ) {\n queryOptionPopover = (\n <StyledListToolbarDialog\n target={queryOptionPopoverTarget.current}\n heading={t(currentQueryOptionId)}\n placement='bottom-end'\n onCancel={() => {\n if (queryOptionProps.onCancel() === false) return;\n setCurrentQueryOptionId(null);\n }}\n onSubmit={() => {\n if (queryOptionProps.onSubmit() === false) return;\n setCurrentQueryOptionId(null);\n }}\n >\n <queryOptionProps.renderer {...(queryOptionProps.rendererProps || {})} />\n </StyledListToolbarDialog>\n );\n }\n }\n\n let keyboardInstructionsDialog = null;\n if (target) {\n keyboardInstructionsDialog = (\n <StyledInfoDialog\n heading={t('keyboard_instructions')}\n target={target}\n onDismiss={() => {\n setTarget(null);\n }}\n >\n {keyboardInstructions}\n </StyledInfoDialog>\n );\n }\n\n const getQueryOptionAction = useCallback(\n (\n id: 'sort' | 'group' | 'filter',\n icon: string,\n queryOptionProps: QueryOptionDialogProps | PresetMenuProps\n ) => {\n return {\n text: t(id),\n id,\n icon,\n count: queryOptionProps.count,\n onClick: () => {\n if (hasProp(queryOptionProps, 'renderer')) {\n setCurrentQueryOptionId(id);\n queryOptionPopoverTarget.current = consolidatedActionsButtonRef.current ?? undefined;\n }\n if (hasProp(queryOptionProps, 'items')) {\n setActionsQueryOptionPreset({\n heading: t(id),\n menu: {\n mode: queryOptionProps.mode,\n items: queryOptionProps.items.map(item => ({ ...item, primary: item.text })),\n onItemClick: queryOptionProps.onItemClick\n }\n });\n setOptionPresetMenuOpen(true);\n }\n }\n };\n },\n []\n );\n\n const basicModeActions = useMemo(() => {\n let basicActions: Action[] = [];\n if (filter) {\n const filterAction: Action = getQueryOptionAction('filter', 'filter', filter);\n basicActions.push(filterAction);\n }\n if (sort) {\n const sortAction: Action = getQueryOptionAction('sort', 'arrow-up-down', sort);\n basicActions.push(sortAction);\n }\n if (group) {\n const groupAction: Action = getQueryOptionAction('group', 'row', group);\n basicActions.push(groupAction);\n }\n if (actions) {\n basicActions = basicActions.concat(actions);\n }\n return basicActions.length ? basicActions : undefined;\n }, [actions, filter, sort, group, getQueryOptionAction]);\n\n const smallScreenActions = useMemo(() => {\n let basicActions: Action[] = [];\n if (keyboardInstructions) {\n const text = t('keyboard_instructions');\n const keyboardInstructionsAction: Action = {\n text,\n id: text,\n icon: 'keyboard',\n onClick: () => {\n setTarget(consolidatedActionsButtonRef.current);\n },\n 'data-testid': testIds.keyboardInstructions\n };\n basicActions.push(keyboardInstructionsAction);\n }\n if (createNew && createNew.onClick) {\n const text = createNew.label ?? t('create_new');\n const createNewAction: Action = {\n text,\n id: text,\n icon: 'plus',\n 'aria-label': text,\n onClick: (_, e) => createNew.onClick(e),\n 'data-testid': testIds.createNew\n };\n basicActions.push(createNewAction);\n }\n if (wrap) {\n const text = wrap.enabled ? t('disable_word_wrap') : t('enable_word_wrap');\n const wrapAction: Action = {\n text,\n id: text,\n icon: wrap.enabled ? 'unwrap' : 'wrap',\n 'aria-label': text,\n onClick: (_, e) => wrap.onClick(e),\n 'data-testid': testIds.wrapButton\n };\n basicActions.push(wrapAction);\n }\n if (basicModeActions) {\n basicActions = basicActions.concat(basicModeActions);\n }\n return basicActions.length ? basicActions : undefined;\n }, [\n keyboardInstructions,\n createNew?.label,\n createNew?.onClick,\n wrap?.enabled,\n wrap?.onClick,\n basicModeActions\n ]);\n\n let labelText = name;\n\n if (viewSelector) {\n const viewItems = helpers.getViews(viewSelector.views);\n\n if (viewItems.length > 1) {\n const selectedViewName =\n helpers.getSelectedView(viewSelector.views)?.text ?? viewItems[0].text;\n\n labelText = `${name}: ${selectedViewName}`;\n }\n }\n\n return (\n <Flex\n data-testid={testIds.root}\n container\n {...restProps}\n as={StyledListToolbar}\n ref={ref}\n isSmallOrAbove={isSmallOrAbove}\n >\n <StyledListToolbarContent\n container={{ direction: 'column' }}\n ref={toolbarContentRef}\n item={{ grow: 1 }}\n >\n <Flex\n container={{\n alignItems: 'center',\n justify: 'between',\n direction: 'row'\n }}\n >\n <Flex\n container={{\n alignItems: isSmallOrAbove ? 'center' : undefined,\n justify: 'between',\n direction: isSmallOrAbove ? undefined : 'column'\n }}\n item={{ grow: 1 }}\n >\n <Flex\n container={{\n alignItems: 'center',\n gap: 1\n }}\n item={{ grow: 1 }}\n >\n <StyledHeadingText\n data-testid={testIds.heading}\n variant={headingTag}\n required={formControlProps?.required}\n aria-describedby={formControlProps?.info ? `${uid}-info` : undefined}\n >\n {!viewSelector || viewSelector.views.length <= 1 ? (\n labelText\n ) : (\n <>\n <MenuButton\n ref={setLabelEl}\n data-testid={testIds.viewSelector}\n variant='text'\n text={labelText}\n as={StyledViewSelector}\n menu={{\n mode: 'single-select',\n items: viewSelector.views.map(view => {\n if (hasProp(view, 'items')) {\n return {\n id: view.text,\n label: view.text,\n items: view.items.map(groupedView => {\n return {\n ...groupedView,\n primary: generateViewName(\n groupedView,\n { default: t('default'), appDefault: t('app_default') },\n {\n defaultId: viewSelector.defaultId,\n appDefaultId: viewSelector.appDefaultId\n }\n ),\n visual: groupedView.visual ? (\n <Avatar {...groupedView.visual} />\n ) : undefined\n };\n })\n };\n }\n\n return {\n ...view,\n primary: generateViewName(\n view,\n { default: t('default'), appDefault: t('app_default') },\n {\n defaultId: viewSelector.defaultId,\n appDefaultId: viewSelector.appDefaultId\n }\n ),\n visual: view.visual ? <Avatar {...view.visual} /> : undefined\n };\n }),\n onItemClick: viewSelector.onViewSelect\n }}\n />\n {labelEl && (\n <Tooltip target={labelEl} describeTarget={false} hideDelay='none' smart>\n {labelText}\n </Tooltip>\n )}\n </>\n )}\n </StyledHeadingText>\n {formControlProps?.additionalInfo && (\n <AdditionalInfo\n heading={formControlProps.additionalInfo.heading}\n contextualLabel={labelText}\n >\n {formControlProps.additionalInfo.content}\n </AdditionalInfo>\n )}\n {isSmallOrAbove && count && <CountMeta data-testid={testIds.count} count={count} />}\n </Flex>\n <>\n {isSmallOrAbove && additionalActions}\n {search && isSmallOrAbove && expandableSearch}\n {isSmallOrAbove && keyboardInstructions && keyboardInstructionsButton}\n {isSmallOrAbove && createNewButton}\n {isSmallOrAbove && wrapButton}\n {isSmallOrAbove && <FullscreenButton />}\n {isSmallOrAbove && basicModeActions && (\n <Actions\n contextualLabel={labelText}\n items={basicModeActions.map(({ icon, ...restActionProps }) => ({\n ...restActionProps,\n visual: icon && <Icon name={icon} />\n }))}\n menuAt={1}\n ref={consolidatedActionsButtonRef}\n />\n )}\n {!isSmallOrAbove && count && (\n <CountMeta data-testid={testIds.count} count={count} />\n )}\n </>\n </Flex>\n {!isSmallOrAbove && (\n <>\n <FullscreenButton />\n {smallScreenActions && (\n <Actions\n contextualLabel={labelText}\n items={smallScreenActions.map(({ icon, ...restActionProps }) => ({\n ...restActionProps,\n visual: icon && <Icon name={icon} />\n }))}\n menuAt={1}\n ref={consolidatedActionsButtonRef}\n />\n )}\n </>\n )}\n </Flex>\n {!isSmallOrAbove && (search || (count && !!count.selected)) && (\n <StyledSearchContainer container={{ alignItems: 'start', justify: 'between' }}>\n <Flex\n as={StyledSearchForm}\n container={{ alignItems: 'stretch', wrap: 'wrap', gap: 1, direction: 'column' }}\n item={{ grow: 1 }}\n >\n {search && searchInput}\n {count && !!count.selected && additionalActions}\n </Flex>\n </StyledSearchContainer>\n )}\n {formControlProps?.info && (\n <StyledInfo\n role={\n formControlProps.status === 'error' || formControlProps.status === 'warning'\n ? 'alert'\n : undefined\n }\n id={`${uid}-info`}\n data-testid={testIds.info}\n status={formControlProps.status}\n >\n {formControlProps.status === 'error' && (\n <>\n <StyledErrorIcon name='warn-solid' />\n <VisuallyHiddenText>{` ${t('error')} `}</VisuallyHiddenText>\n </>\n )}\n {formControlProps.info}\n </StyledInfo>\n )}\n </StyledListToolbarContent>\n\n {queryOptionPopover}\n {!isSmallOrAbove && keyboardInstructionsDialog}\n\n <PresetMenuPopover\n buttonRef={consolidatedActionsButtonRef}\n heading={actionsQueryOptionPreset?.heading}\n menu={actionsQueryOptionPreset?.menu}\n isOpen={optionPresetMenuOpen}\n onClose={() => setOptionPresetMenuOpen(false)}\n />\n </Flex>\n );\n }\n);\n\nexport default withTestIds(ListToolbar, getListToolbarTestIds);\n"]}
1
+ {"version":3,"file":"ListToolbar.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { KeyboardEvent, PropsWithoutRef, MouseEvent } from 'react';\n\nimport VisuallyHiddenText from '../VisuallyHiddenText';\nimport Actions from '../Actions';\nimport Button from '../Button';\nimport type { Action, ForwardRefForwardPropsComponent } from '../../types';\nimport {\n useBreakpoint,\n useConfiguration,\n useConsolidatedRef,\n useElement,\n useI18n,\n useTestIds,\n useUID\n} from '../../hooks';\nimport Flex from '../Flex';\nimport SearchInput from '../SearchInput';\nimport Icon, { registerIcon } from '../Icon';\nimport * as filterIcon from '../Icon/icons/filter.icon';\nimport * as arrowUpDownIcon from '../Icon/icons/arrow-up-down.icon';\nimport * as rowIcon from '../Icon/icons/row.icon';\nimport * as plusIcon from '../Icon/icons/plus.icon';\nimport * as moreIcon from '../Icon/icons/more.icon';\nimport * as wrapIcon from '../Icon/icons/wrap.icon';\nimport * as unwrapIcon from '../Icon/icons/unwrap.icon';\nimport { hasProp, withTestIds } from '../../utils';\nimport { formatNumber } from '../Number';\nimport MenuButton from '../MenuButton';\nimport Avatar from '../Avatar';\nimport AdditionalInfo from '../AdditionalInfo';\nimport FullscreenButton from '../Fullscreen/FullscreenButton';\nimport Tooltip from '../Tooltip';\n\nimport PresetMenuPopover from './PresetMenuPopover';\nimport type { PresetMenuPopoverProps } from './PresetMenuPopover';\nimport {\n StyledViewSelector,\n StyledSearchForm,\n StyledListToolbar,\n StyledHeadingText,\n StyledCountMeta,\n StyledListToolbarContent,\n StyledListToolbarDialog,\n StyledErrorIcon,\n StyledInfo,\n StyledSearchContainer,\n StyledExpandSearchButton\n} from './ListToolbar.styles';\nimport type {\n ListToolbarProps,\n PresetMenuProps,\n QueryOptionDialogProps,\n QueryOptionId,\n ViewProps,\n ViewSelectorProps\n} from './ListToolbar.types';\nimport helpers from './helpers';\nimport { getListToolbarTestIds } from './ListToolbar.test-ids';\n\nregisterIcon(filterIcon, arrowUpDownIcon, rowIcon, plusIcon, moreIcon, wrapIcon, unwrapIcon);\n\nconst CountMeta = ({ count, ...restProps }: { count: NonNullable<ListToolbarProps['count']> }) => {\n const { locale } = useConfiguration();\n const t = useI18n();\n const totalFormattedValue = formatNumber(count.total ?? 0, {\n locale,\n options: {\n useGrouping: true\n }\n });\n return (\n <StyledCountMeta variant='secondary' {...restProps}>\n {count.selected\n ? t(\n 'selected_count',\n [formatNumber(count.selected, { locale, options: { useGrouping: true } })],\n { count: count.selected }\n )\n : t(\n 'results_count',\n [count.totalHasMore ? `${totalFormattedValue}+` : totalFormattedValue],\n {\n count: count.total\n }\n )}\n </StyledCountMeta>\n );\n};\n\nconst generateViewName = (\n view: ViewProps,\n texts: { default: string; appDefault: string },\n options: {\n defaultId?: ViewSelectorProps['defaultId'];\n appDefaultId?: ViewSelectorProps['appDefaultId'];\n }\n) => {\n return `${view.text} ${view.id === options.defaultId ? `(${texts.default})` : ''} ${\n view.id === options.appDefaultId ? `(${texts.appDefault})` : ''\n }`;\n};\n\nconst ListToolbar: ForwardRefForwardPropsComponent<ListToolbarProps> = forwardRef(\n function ListToolbar(\n {\n testId,\n name,\n headingTag = 'h2',\n viewSelector,\n formControlProps,\n createNew,\n search,\n count,\n wrap,\n additionalActions,\n filter,\n sort,\n group,\n actions,\n actionsButtonRef,\n ...restProps\n }: PropsWithoutRef<ListToolbarProps>,\n ref: ListToolbarProps['ref']\n ) {\n const uid = useUID();\n const t = useI18n();\n const testIds = useTestIds(testId, getListToolbarTestIds);\n\n const consolidatedActionsButtonRef = useConsolidatedRef(actionsButtonRef);\n const toolbarContentRef = useRef<HTMLDivElement>(null);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const searchButtonRef = useRef<HTMLButtonElement>(null);\n const [labelEl, setLabelEl] = useElement<HTMLButtonElement>();\n const [isSearchOpen, setIsSearchOpen] = useState(!!search?.value);\n const isSmallOrAbove = useBreakpoint('sm', { breakpointRef: toolbarContentRef });\n\n useEffect(() => {\n if (search?.value) {\n setIsSearchOpen(true);\n }\n }, [search?.value]);\n\n useEffect(() => {\n if (!isSearchOpen || search?.value) return;\n const openedSearch = searchInputRef.current?.parentElement;\n if (!openedSearch) return;\n\n const handleFocusOut = (e: FocusEvent) => {\n if (!search?.value && !openedSearch.contains(e.relatedTarget as HTMLElement)) {\n setIsSearchOpen(false);\n }\n };\n\n openedSearch.addEventListener('focusout', handleFocusOut);\n\n return () => {\n openedSearch.removeEventListener('focusout', handleFocusOut);\n };\n }, [isSearchOpen, search?.value]);\n\n const [currentQueryOptionId, setCurrentQueryOptionId] = useState<QueryOptionId | null>(null);\n const queryOptionPopoverTarget = useRef<HTMLButtonElement>();\n\n const [actionsQueryOptionPreset, setActionsQueryOptionPreset] =\n useState<Pick<PresetMenuPopoverProps, 'heading' | 'menu'>>();\n const [optionPresetMenuOpen, setOptionPresetMenuOpen] = useState(false);\n\n const createNewButton = useMemo(() => {\n if (!createNew?.onClick) return null;\n const text = createNew.label ?? t('create_new');\n\n return (\n <Button\n data-testid={testIds.createNew}\n variant='simple'\n icon\n label={text}\n aria-label={text}\n onClick={createNew.onClick}\n >\n <Icon name='plus' />\n </Button>\n );\n }, [t, createNew, isSmallOrAbove]);\n\n const wrapButton = useMemo(() => {\n if (!wrap) return null;\n\n const text = wrap.enabled ? t('disable_word_wrap') : t('enable_word_wrap');\n\n return (\n <Button\n data-testid={testIds.wrapButton}\n variant='simple'\n icon\n label={text}\n aria-label={text}\n onClick={wrap.onClick}\n >\n <Icon name={wrap.enabled ? 'unwrap' : 'wrap'} />\n </Button>\n );\n }, [wrap, isSmallOrAbove, t]);\n\n const searchInput = useMemo(\n () => (\n <SearchInput\n data-testid={testIds.searchInput}\n {...search}\n onSearchSubmit={(value: string) => {\n search?.onSearchSubmit?.(value);\n }}\n onClick={(e: MouseEvent<HTMLInputElement>) => {\n e.preventDefault();\n }}\n ref={searchInputRef}\n />\n ),\n [search]\n );\n\n const searchLabel = t('search');\n const expandableSearch = useMemo(() => {\n return isSearchOpen ? (\n searchInput\n ) : (\n <StyledExpandSearchButton\n data-testid={testIds.searchButton}\n variant='simple'\n icon\n label={searchLabel}\n aria-label={t('expand_search')}\n onClick={() => {\n setIsSearchOpen(true);\n setTimeout(() => searchInputRef.current?.focus());\n }}\n onKeyDown={(e: KeyboardEvent<HTMLElement>) => {\n if (e.target !== searchInputRef.current && (e.key === 'Enter' || e.key === ' ')) {\n setIsSearchOpen(true);\n setTimeout(() => {\n searchInputRef.current?.focus();\n searchInputRef.current?.select();\n });\n }\n }}\n ref={searchButtonRef}\n >\n <Icon name='search' />\n </StyledExpandSearchButton>\n );\n }, [searchLabel, setIsSearchOpen, isSearchOpen, searchInput]);\n\n let queryOptionPopover = null;\n if (currentQueryOptionId) {\n const queryOptionProps = { filter, sort, group }[currentQueryOptionId];\n if (\n queryOptionProps &&\n hasProp(queryOptionProps, 'renderer') &&\n queryOptionPopoverTarget.current\n ) {\n queryOptionPopover = (\n <StyledListToolbarDialog\n target={queryOptionPopoverTarget.current}\n heading={t(currentQueryOptionId)}\n placement='bottom-end'\n onCancel={() => {\n if (queryOptionProps.onCancel() === false) return;\n setCurrentQueryOptionId(null);\n }}\n onSubmit={() => {\n if (queryOptionProps.onSubmit() === false) return;\n setCurrentQueryOptionId(null);\n }}\n >\n <queryOptionProps.renderer {...(queryOptionProps.rendererProps || {})} />\n </StyledListToolbarDialog>\n );\n }\n }\n\n const getQueryOptionAction = useCallback(\n (\n id: 'sort' | 'group' | 'filter',\n icon: string,\n queryOptionProps: QueryOptionDialogProps | PresetMenuProps\n ) => {\n return {\n text: t(id),\n id,\n icon,\n count: queryOptionProps.count,\n onClick: () => {\n if (hasProp(queryOptionProps, 'renderer')) {\n setCurrentQueryOptionId(id);\n queryOptionPopoverTarget.current = consolidatedActionsButtonRef.current ?? undefined;\n }\n if (hasProp(queryOptionProps, 'items')) {\n setActionsQueryOptionPreset({\n heading: t(id),\n menu: {\n mode: queryOptionProps.mode,\n items: queryOptionProps.items.map(item => ({ ...item, primary: item.text })),\n onItemClick: queryOptionProps.onItemClick\n }\n });\n setOptionPresetMenuOpen(true);\n }\n }\n };\n },\n []\n );\n\n const basicModeActions = useMemo(() => {\n let basicActions: Action[] = [];\n if (filter) {\n const filterAction: Action = getQueryOptionAction('filter', 'filter', filter);\n basicActions.push(filterAction);\n }\n if (sort) {\n const sortAction: Action = getQueryOptionAction('sort', 'arrow-up-down', sort);\n basicActions.push(sortAction);\n }\n if (group) {\n const groupAction: Action = getQueryOptionAction('group', 'row', group);\n basicActions.push(groupAction);\n }\n if (actions) {\n basicActions = basicActions.concat(actions);\n }\n return basicActions.length ? basicActions : undefined;\n }, [actions, filter, sort, group, getQueryOptionAction]);\n\n const smallScreenActions = useMemo(() => {\n let basicActions: Action[] = [];\n if (createNew && createNew.onClick) {\n const text = createNew.label ?? t('create_new');\n const createNewAction: Action = {\n text,\n id: text,\n icon: 'plus',\n 'aria-label': text,\n onClick: (_, e) => createNew.onClick(e),\n 'data-testid': testIds.createNew\n };\n basicActions.push(createNewAction);\n }\n if (wrap) {\n const text = wrap.enabled ? t('disable_word_wrap') : t('enable_word_wrap');\n const wrapAction: Action = {\n text,\n id: text,\n icon: wrap.enabled ? 'unwrap' : 'wrap',\n 'aria-label': text,\n onClick: (_, e) => wrap.onClick(e),\n 'data-testid': testIds.wrapButton\n };\n basicActions.push(wrapAction);\n }\n if (basicModeActions) {\n basicActions = basicActions.concat(basicModeActions);\n }\n return basicActions.length ? basicActions : undefined;\n }, [createNew?.label, createNew?.onClick, wrap?.enabled, wrap?.onClick, basicModeActions]);\n\n let labelText = name;\n\n if (viewSelector) {\n const viewItems = helpers.getViews(viewSelector.views);\n\n if (viewItems.length > 1) {\n const selectedViewName =\n helpers.getSelectedView(viewSelector.views)?.text ?? viewItems[0].text;\n\n labelText = `${name}: ${selectedViewName}`;\n }\n }\n\n return (\n <Flex\n data-testid={testIds.root}\n container\n {...restProps}\n as={StyledListToolbar}\n ref={ref}\n isSmallOrAbove={isSmallOrAbove}\n >\n <StyledListToolbarContent\n container={{ direction: 'column' }}\n ref={toolbarContentRef}\n item={{ grow: 1 }}\n >\n <Flex\n container={{\n alignItems: 'center',\n justify: 'between',\n direction: 'row'\n }}\n >\n <Flex\n container={{\n alignItems: isSmallOrAbove ? 'center' : undefined,\n justify: 'between',\n direction: isSmallOrAbove ? undefined : 'column'\n }}\n item={{ grow: 1 }}\n >\n <Flex\n container={{\n alignItems: 'center',\n gap: 1\n }}\n item={{ grow: 1 }}\n >\n <StyledHeadingText\n data-testid={testIds.heading}\n variant={headingTag}\n required={formControlProps?.required}\n aria-describedby={formControlProps?.info ? `${uid}-info` : undefined}\n >\n {!viewSelector || viewSelector.views.length <= 1 ? (\n labelText\n ) : (\n <>\n <MenuButton\n ref={setLabelEl}\n data-testid={testIds.viewSelector}\n variant='text'\n text={labelText}\n as={StyledViewSelector}\n menu={{\n mode: 'single-select',\n items: viewSelector.views.map(view => {\n if (hasProp(view, 'items')) {\n return {\n id: view.text,\n label: view.text,\n items: view.items.map(groupedView => {\n return {\n ...groupedView,\n primary: generateViewName(\n groupedView,\n { default: t('default'), appDefault: t('app_default') },\n {\n defaultId: viewSelector.defaultId,\n appDefaultId: viewSelector.appDefaultId\n }\n ),\n visual: groupedView.visual ? (\n <Avatar {...groupedView.visual} />\n ) : undefined\n };\n })\n };\n }\n\n return {\n ...view,\n primary: generateViewName(\n view,\n { default: t('default'), appDefault: t('app_default') },\n {\n defaultId: viewSelector.defaultId,\n appDefaultId: viewSelector.appDefaultId\n }\n ),\n visual: view.visual ? <Avatar {...view.visual} /> : undefined\n };\n }),\n onItemClick: viewSelector.onViewSelect\n }}\n />\n {labelEl && (\n <Tooltip target={labelEl} describeTarget={false} hideDelay='none' smart>\n {labelText}\n </Tooltip>\n )}\n </>\n )}\n </StyledHeadingText>\n {formControlProps?.additionalInfo && (\n <AdditionalInfo\n heading={formControlProps.additionalInfo.heading}\n contextualLabel={labelText}\n >\n {formControlProps.additionalInfo.content}\n </AdditionalInfo>\n )}\n {isSmallOrAbove && count && <CountMeta data-testid={testIds.count} count={count} />}\n </Flex>\n <>\n {isSmallOrAbove && additionalActions}\n {search && isSmallOrAbove && expandableSearch}\n {isSmallOrAbove && createNewButton}\n {isSmallOrAbove && wrapButton}\n {isSmallOrAbove && <FullscreenButton />}\n {isSmallOrAbove && basicModeActions && (\n <Actions\n contextualLabel={labelText}\n items={basicModeActions.map(({ icon, ...restActionProps }) => ({\n ...restActionProps,\n visual: icon && <Icon name={icon} />\n }))}\n menuAt={1}\n ref={consolidatedActionsButtonRef}\n />\n )}\n {!isSmallOrAbove && count && (\n <CountMeta data-testid={testIds.count} count={count} />\n )}\n </>\n </Flex>\n {!isSmallOrAbove && (\n <>\n <FullscreenButton />\n {smallScreenActions && (\n <Actions\n contextualLabel={labelText}\n items={smallScreenActions.map(({ icon, ...restActionProps }) => ({\n ...restActionProps,\n visual: icon && <Icon name={icon} />\n }))}\n menuAt={1}\n ref={consolidatedActionsButtonRef}\n />\n )}\n </>\n )}\n </Flex>\n {!isSmallOrAbove && (search || (count && !!count.selected)) && (\n <StyledSearchContainer container={{ alignItems: 'start', justify: 'between' }}>\n <Flex\n as={StyledSearchForm}\n container={{ alignItems: 'stretch', wrap: 'wrap', gap: 1, direction: 'column' }}\n item={{ grow: 1 }}\n >\n {search && searchInput}\n {count && !!count.selected && additionalActions}\n </Flex>\n </StyledSearchContainer>\n )}\n {formControlProps?.info && (\n <StyledInfo\n role={\n formControlProps.status === 'error' || formControlProps.status === 'warning'\n ? 'alert'\n : undefined\n }\n id={`${uid}-info`}\n data-testid={testIds.info}\n status={formControlProps.status}\n >\n {formControlProps.status === 'error' && (\n <>\n <StyledErrorIcon name='warn-solid' />\n <VisuallyHiddenText>{` ${t('error')} `}</VisuallyHiddenText>\n </>\n )}\n {formControlProps.info}\n </StyledInfo>\n )}\n </StyledListToolbarContent>\n\n {queryOptionPopover}\n\n <PresetMenuPopover\n buttonRef={consolidatedActionsButtonRef}\n heading={actionsQueryOptionPreset?.heading}\n menu={actionsQueryOptionPreset?.menu}\n isOpen={optionPresetMenuOpen}\n onClose={() => setOptionPresetMenuOpen(false)}\n />\n </Flex>\n );\n }\n);\n\nexport default withTestIds(ListToolbar, getListToolbarTestIds);\n"]}
@@ -16,5 +16,4 @@ export declare const StyledHeadingText: import("styled-components").StyledCompon
16
16
  export declare const StyledCountMeta: import("styled-components").StyledComponent<import("../..").ForwardRefForwardPropsComponent<import("../Text").TextProps>, import("styled-components").DefaultTheme, {}, never>;
17
17
  export declare const StyledInfo: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, Pick<FormControlProps, "status">, never>;
18
18
  export declare const StyledSearchContainer: import("styled-components").StyledComponent<import("../..").ForwardRefForwardPropsComponent<import("../Flex").FlexProps>, import("styled-components").DefaultTheme, {}, never>;
19
- export declare const StyledInfoDialog: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("../Dialog").InfoDialogProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>, import("styled-components").DefaultTheme, {}, never>;
20
19
  //# sourceMappingURL=ListToolbar.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListToolbar.styles.d.ts","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAYvD,eAAO,MAAM,wBAAwB,oLAAmB,CAAC;AAGzD,eAAO,MAAM,gBAAgB,yGAK5B,CAAC;AAEF,eAAO,MAAM,kBAAkB;cAA6B,OAAO;SA6BjE,CAAC;AAIH,eAAO,MAAM,iBAAiB;oBAAgC,OAAO;SAsBpE,CAAC;AAIF,eAAO,MAAM,uBAAuB,mQAKlC,CAAC;AAIH,eAAO,MAAM,wBAAwB,gLAOnC,CAAC;AAIH,eAAO,MAAM,eAAe,0KAK3B,CAAC;AAIF,eAAO,MAAM,iBAAiB;eAA6B,OAAO;SAmChE,CAAC;AAIH,eAAO,MAAM,eAAe,gLAK1B,CAAC;AAIH,eAAO,MAAM,UAAU,uIAatB,CAAC;AAIF,eAAO,MAAM,qBAAqB,gLAQjC,CAAC;AAIF,eAAO,MAAM,gBAAgB,+OAI5B,CAAC"}
1
+ {"version":3,"file":"ListToolbar.styles.d.ts","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAWvD,eAAO,MAAM,wBAAwB,oLAAmB,CAAC;AAGzD,eAAO,MAAM,gBAAgB,yGAK5B,CAAC;AAEF,eAAO,MAAM,kBAAkB;cAA6B,OAAO;SA6BjE,CAAC;AAIH,eAAO,MAAM,iBAAiB;oBAAgC,OAAO;SAsBpE,CAAC;AAIF,eAAO,MAAM,uBAAuB,mQAKlC,CAAC;AAIH,eAAO,MAAM,wBAAwB,gLAOnC,CAAC;AAIH,eAAO,MAAM,eAAe,0KAK3B,CAAC;AAIF,eAAO,MAAM,iBAAiB;eAA6B,OAAO;SAmChE,CAAC;AAIH,eAAO,MAAM,eAAe,gLAK1B,CAAC;AAIH,eAAO,MAAM,UAAU,uIAatB,CAAC;AAIF,eAAO,MAAM,qBAAqB,gLAQjC,CAAC"}
@@ -7,7 +7,6 @@ import { defaultThemeProp } from '../../theme';
7
7
  import { calculateFontSize } from '../../styles';
8
8
  import Button, { StyledButton } from '../Button';
9
9
  import FormDialog from '../Dialog/FormDialog';
10
- import InfoDialog from '../Dialog/InfoDialog';
11
10
  export const StyledExpandSearchButton = styled(Button) ``;
12
11
  StyledExpandSearchButton.defaultProps = defaultThemeProp;
13
12
  export const StyledSearchForm = styled.div `
@@ -148,8 +147,4 @@ export const StyledSearchContainer = styled(Flex)(({ theme }) => css `
148
147
  }
149
148
  `);
150
149
  StyledSearchContainer.defaultProps = defaultThemeProp;
151
- export const StyledInfoDialog = styled(InfoDialog)(({ theme }) => css `
152
- max-width: ${theme.base['content-width'].sm};
153
- `);
154
- StyledInfoDialog.defaultProps = defaultThemeProp;
155
150
  //# sourceMappingURL=ListToolbar.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListToolbar.styles.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import styled, { css } from 'styled-components';\n\nimport type { FormControlProps } from '../FormControl';\nimport Icon from '../Icon';\nimport Flex from '../Flex';\nimport { StyledSearchInput } from '../SearchInput';\nimport Text, { StyledText } from '../Text';\nimport { defaultThemeProp } from '../../theme';\nimport { calculateFontSize } from '../../styles';\nimport type { FontSize } from '../../styles';\nimport Button, { StyledButton } from '../Button';\nimport FormDialog from '../Dialog/FormDialog';\nimport InfoDialog from '../Dialog/InfoDialog';\n\nexport const StyledExpandSearchButton = styled(Button)``;\nStyledExpandSearchButton.defaultProps = defaultThemeProp;\n\nexport const StyledSearchForm = styled.div`\n ${StyledSearchInput} {\n flex-grow: 1;\n max-width: min(100%, 40ch);\n }\n`;\n\nexport const StyledViewSelector = styled.button<{ required: boolean }>(({ theme, required }) => {\n const fontSizes = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n const { urgent } = theme.base.palette;\n const hitAreaMouse = theme.base['hit-area']['mouse-min'];\n const hitAreaFinger = theme.base['hit-area']['finger-min'];\n\n return css`\n flex-shrink: initial;\n white-space: initial;\n max-width: 100%;\n\n ${StyledText} {\n white-space: nowrap;\n font-size: ${fontSizes[theme.components.text.h2['font-size'] as FontSize]};\n font-weight: ${theme.components.text.h2['font-weight']};\n line-height: ${hitAreaMouse};\n word-break: break-word;\n @media (pointer: coarse) {\n line-height: ${hitAreaFinger};\n }\n }\n\n ${StyledText}::after {\n display: ${required ? 'inline-block' : 'none'};\n content: '\\\\00a0*';\n vertical-align: top;\n color: ${urgent};\n }\n `;\n});\n\nStyledViewSelector.defaultProps = defaultThemeProp;\n\nexport const StyledListToolbar = styled.div<{ isSmallOrAbove: boolean }>(\n ({ theme, isSmallOrAbove }) => {\n return css`\n width: 100%;\n margin-block-end: calc(0.5 * ${theme.base.spacing});\n\n ${isSmallOrAbove &&\n css`\n ${StyledExpandSearchButton} {\n margin-inline-start: calc(0.5 * ${theme.base.spacing});\n }\n\n ${StyledSearchInput} {\n margin-inline-start: ${theme.base.spacing};\n\n input {\n min-width: 20ch;\n }\n }\n `}\n `;\n }\n);\n\nStyledListToolbar.defaultProps = defaultThemeProp;\n\nexport const StyledListToolbarDialog = styled(FormDialog)(({ theme }) => {\n return css`\n min-width: min(${theme.base['content-width'].lg}, calc(100% - 2rem));\n max-width: calc(100vw - 4 * ${theme.base.spacing});\n `;\n});\n\nStyledListToolbarDialog.defaultProps = defaultThemeProp;\n\nexport const StyledListToolbarContent = styled(Flex)(({ theme }) => {\n return css`\n ${StyledButton} + ${StyledButton} {\n margin-inline-start: 0;\n }\n border-radius: calc(0.25 * ${theme.base['border-radius']});\n `;\n});\n\nStyledListToolbarContent.defaultProps = defaultThemeProp;\n\nexport const StyledErrorIcon = styled(Icon)(\n ({ theme }) => css`\n color: ${theme.base.palette.urgent};\n margin-inline-end: ${theme.base.spacing};\n `\n);\n\nStyledErrorIcon.defaultProps = defaultThemeProp;\n\nexport const StyledHeadingText = styled(Text)<{ required?: boolean }>(({ theme, required }) => {\n const { urgent } = theme.base.palette;\n const hitAreaCompact = theme.base['hit-area'].compact;\n\n return css`\n min-width: 0;\n position: relative;\n line-height: ${hitAreaCompact};\n word-break: break-word;\n display: flex;\n align-items: center;\n\n ${required &&\n css`\n padding-inline-end: calc(1.5 * ${theme.base.spacing});\n `}\n\n &::after {\n display: ${required ? 'inline' : 'none'};\n content: '\\\\00a0*';\n vertical-align: top;\n color: ${urgent};\n position: absolute;\n inset-inline-end: 0;\n inset-block-start: 0;\n }\n\n ${StyledErrorIcon} {\n margin-inline-end: calc(0.5 * ${theme.base.spacing});\n }\n\n ${StyledText} {\n line-height: ${hitAreaCompact};\n }\n `;\n});\n\nStyledHeadingText.defaultProps = defaultThemeProp;\n\nexport const StyledCountMeta = styled(Text)(({ theme }) => {\n return css`\n white-space: nowrap;\n margin-inline-end: ${theme.base.spacing};\n `;\n});\n\nStyledCountMeta.defaultProps = defaultThemeProp;\n\nexport const StyledInfo = styled.div<Pick<FormControlProps, 'status'>>(\n ({\n status,\n theme: {\n components: { 'form-field': formField }\n }\n }) => css`\n ${status &&\n formField[status] &&\n css`\n color: ${formField[status]['status-color']};\n `}\n `\n);\n\nStyledInfo.defaultProps = defaultThemeProp;\n\nexport const StyledSearchContainer = styled(Flex)(\n ({ theme }) => css`\n margin-block: calc(0.5 * ${theme.base.spacing});\n\n ${StyledSearchInput} {\n max-width: 100%;\n }\n `\n);\n\nStyledSearchContainer.defaultProps = defaultThemeProp;\n\nexport const StyledInfoDialog = styled(InfoDialog)(\n ({ theme }) => css`\n max-width: ${theme.base['content-width'].sm};\n `\n);\n\nStyledInfoDialog.defaultProps = defaultThemeProp;\n"]}
1
+ {"version":3,"file":"ListToolbar.styles.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import styled, { css } from 'styled-components';\n\nimport type { FormControlProps } from '../FormControl';\nimport Icon from '../Icon';\nimport Flex from '../Flex';\nimport { StyledSearchInput } from '../SearchInput';\nimport Text, { StyledText } from '../Text';\nimport { defaultThemeProp } from '../../theme';\nimport { calculateFontSize } from '../../styles';\nimport type { FontSize } from '../../styles';\nimport Button, { StyledButton } from '../Button';\nimport FormDialog from '../Dialog/FormDialog';\n\nexport const StyledExpandSearchButton = styled(Button)``;\nStyledExpandSearchButton.defaultProps = defaultThemeProp;\n\nexport const StyledSearchForm = styled.div`\n ${StyledSearchInput} {\n flex-grow: 1;\n max-width: min(100%, 40ch);\n }\n`;\n\nexport const StyledViewSelector = styled.button<{ required: boolean }>(({ theme, required }) => {\n const fontSizes = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n const { urgent } = theme.base.palette;\n const hitAreaMouse = theme.base['hit-area']['mouse-min'];\n const hitAreaFinger = theme.base['hit-area']['finger-min'];\n\n return css`\n flex-shrink: initial;\n white-space: initial;\n max-width: 100%;\n\n ${StyledText} {\n white-space: nowrap;\n font-size: ${fontSizes[theme.components.text.h2['font-size'] as FontSize]};\n font-weight: ${theme.components.text.h2['font-weight']};\n line-height: ${hitAreaMouse};\n word-break: break-word;\n @media (pointer: coarse) {\n line-height: ${hitAreaFinger};\n }\n }\n\n ${StyledText}::after {\n display: ${required ? 'inline-block' : 'none'};\n content: '\\\\00a0*';\n vertical-align: top;\n color: ${urgent};\n }\n `;\n});\n\nStyledViewSelector.defaultProps = defaultThemeProp;\n\nexport const StyledListToolbar = styled.div<{ isSmallOrAbove: boolean }>(\n ({ theme, isSmallOrAbove }) => {\n return css`\n width: 100%;\n margin-block-end: calc(0.5 * ${theme.base.spacing});\n\n ${isSmallOrAbove &&\n css`\n ${StyledExpandSearchButton} {\n margin-inline-start: calc(0.5 * ${theme.base.spacing});\n }\n\n ${StyledSearchInput} {\n margin-inline-start: ${theme.base.spacing};\n\n input {\n min-width: 20ch;\n }\n }\n `}\n `;\n }\n);\n\nStyledListToolbar.defaultProps = defaultThemeProp;\n\nexport const StyledListToolbarDialog = styled(FormDialog)(({ theme }) => {\n return css`\n min-width: min(${theme.base['content-width'].lg}, calc(100% - 2rem));\n max-width: calc(100vw - 4 * ${theme.base.spacing});\n `;\n});\n\nStyledListToolbarDialog.defaultProps = defaultThemeProp;\n\nexport const StyledListToolbarContent = styled(Flex)(({ theme }) => {\n return css`\n ${StyledButton} + ${StyledButton} {\n margin-inline-start: 0;\n }\n border-radius: calc(0.25 * ${theme.base['border-radius']});\n `;\n});\n\nStyledListToolbarContent.defaultProps = defaultThemeProp;\n\nexport const StyledErrorIcon = styled(Icon)(\n ({ theme }) => css`\n color: ${theme.base.palette.urgent};\n margin-inline-end: ${theme.base.spacing};\n `\n);\n\nStyledErrorIcon.defaultProps = defaultThemeProp;\n\nexport const StyledHeadingText = styled(Text)<{ required?: boolean }>(({ theme, required }) => {\n const { urgent } = theme.base.palette;\n const hitAreaCompact = theme.base['hit-area'].compact;\n\n return css`\n min-width: 0;\n position: relative;\n line-height: ${hitAreaCompact};\n word-break: break-word;\n display: flex;\n align-items: center;\n\n ${required &&\n css`\n padding-inline-end: calc(1.5 * ${theme.base.spacing});\n `}\n\n &::after {\n display: ${required ? 'inline' : 'none'};\n content: '\\\\00a0*';\n vertical-align: top;\n color: ${urgent};\n position: absolute;\n inset-inline-end: 0;\n inset-block-start: 0;\n }\n\n ${StyledErrorIcon} {\n margin-inline-end: calc(0.5 * ${theme.base.spacing});\n }\n\n ${StyledText} {\n line-height: ${hitAreaCompact};\n }\n `;\n});\n\nStyledHeadingText.defaultProps = defaultThemeProp;\n\nexport const StyledCountMeta = styled(Text)(({ theme }) => {\n return css`\n white-space: nowrap;\n margin-inline-end: ${theme.base.spacing};\n `;\n});\n\nStyledCountMeta.defaultProps = defaultThemeProp;\n\nexport const StyledInfo = styled.div<Pick<FormControlProps, 'status'>>(\n ({\n status,\n theme: {\n components: { 'form-field': formField }\n }\n }) => css`\n ${status &&\n formField[status] &&\n css`\n color: ${formField[status]['status-color']};\n `}\n `\n);\n\nStyledInfo.defaultProps = defaultThemeProp;\n\nexport const StyledSearchContainer = styled(Flex)(\n ({ theme }) => css`\n margin-block: calc(0.5 * ${theme.base.spacing});\n\n ${StyledSearchInput} {\n max-width: 100%;\n }\n `\n);\n\nStyledSearchContainer.defaultProps = defaultThemeProp;\n"]}
@@ -1,2 +1,2 @@
1
- export declare const getListToolbarTestIds: (testIdProp?: import("../..").TestIdProp["testId"]) => import("../..").TestIdsRecord<readonly ["view-selector", "count", "heading", "info", "create-new", "keyboard-instructions", "search-input", "search-button", "wrap-button"]>;
1
+ export declare const getListToolbarTestIds: (testIdProp?: import("../..").TestIdProp["testId"]) => import("../..").TestIdsRecord<readonly ["view-selector", "count", "heading", "info", "create-new", "search-input", "search-button", "wrap-button"]>;
2
2
  //# sourceMappingURL=ListToolbar.test-ids.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListToolbar.test-ids.d.ts","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.test-ids.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,qOAUvB,CAAC"}
1
+ {"version":3,"file":"ListToolbar.test-ids.d.ts","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.test-ids.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,4MASvB,CAAC"}
@@ -5,7 +5,6 @@ export const getListToolbarTestIds = createTestIds('list-toolbar', [
5
5
  'heading',
6
6
  'info',
7
7
  'create-new',
8
- 'keyboard-instructions',
9
8
  'search-input',
10
9
  'search-button',
11
10
  'wrap-button'
@@ -1 +1 @@
1
- {"version":3,"file":"ListToolbar.test-ids.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.test-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC,cAAc,EAAE;IACjE,eAAe;IACf,OAAO;IACP,SAAS;IACT,MAAM;IACN,YAAY;IACZ,uBAAuB;IACvB,cAAc;IACd,eAAe;IACf,aAAa;CACL,CAAC,CAAC","sourcesContent":["import { createTestIds } from '../../utils';\n\nexport const getListToolbarTestIds = createTestIds('list-toolbar', [\n 'view-selector',\n 'count',\n 'heading',\n 'info',\n 'create-new',\n 'keyboard-instructions',\n 'search-input',\n 'search-button',\n 'wrap-button'\n] as const);\n"]}
1
+ {"version":3,"file":"ListToolbar.test-ids.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.test-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC,cAAc,EAAE;IACjE,eAAe;IACf,OAAO;IACP,SAAS;IACT,MAAM;IACN,YAAY;IACZ,cAAc;IACd,eAAe;IACf,aAAa;CACL,CAAC,CAAC","sourcesContent":["import { createTestIds } from '../../utils';\n\nexport const getListToolbarTestIds = createTestIds('list-toolbar', [\n 'view-selector',\n 'count',\n 'heading',\n 'info',\n 'create-new',\n 'search-input',\n 'search-button',\n 'wrap-button'\n] as const);\n"]}
@@ -88,8 +88,6 @@ export interface ListToolbarProps extends BaseProps, TestIdProp {
88
88
  /** Callback that will render a Create new button and is fired when that button is clicked. */
89
89
  onClick: (e: MouseEvent) => void;
90
90
  };
91
- /** Props related to keyboard instructions. */
92
- keyboardInstructions?: ReactNode;
93
91
  /** Props related to wrap button. */
94
92
  wrap?: {
95
93
  /** value which holds the status of the wrap */
@@ -1 +1 @@
1
- {"version":3,"file":"ListToolbar.types.d.ts","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ListToolbar.types.d.ts","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ListToolbar.types.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { MouseEvent, Ref, ComponentType, ReactNode } from 'react';\n\nimport type { SearchInputProps } from '../SearchInput';\nimport type { MenuGroupProps, MenuProps } from '../Menu';\nimport type {\n Action,\n BaseProps,\n DeferInfer,\n ExcludeStrict,\n HeadingTag,\n TestIdProp\n} from '../../types';\nimport type { AvatarProps } from '../Avatar';\nimport type { FormControlProps } from '../FormControl';\n\nexport interface ViewProps {\n /** Unique, stable identifier of this view. */\n id: string;\n /** Label text of this view. */\n text: string;\n /** Flag indicating whether this view is currently selected. */\n selected: boolean;\n /** A count to assist with number of associated items. */\n count?: number;\n /** A visual to assist identifying an item. */\n visual?: Pick<AvatarProps, 'name' | 'icon' | 'imageSrc' | 'status'>;\n}\n\nexport interface ViewGroupProps {\n /** Label text of the group. */\n text: MenuGroupProps['label'];\n /** Array of items belonging to the group. */\n items: ViewProps[];\n}\n\nexport interface ViewSelectorProps {\n /** A list of pre-defined data views. */\n views: (ViewProps | ViewGroupProps)[];\n /** Called when a view is selected. */\n onViewSelect: MenuProps['onItemClick'];\n /** Determines which view is the default. */\n defaultId?: string;\n /** Determines which view is the default in the app. */\n appDefaultId?: string;\n}\n\nexport interface QueryOption {\n /** A count representing the number of applied conditions within the query option. */\n count?: number;\n}\n\nexport interface QueryOptionDialogProps<P extends object = any> extends QueryOption {\n /** A component to render the content portion of the query option dialog. */\n renderer: ComponentType<P>;\n /**\n * A props object that will be passed to the content renderer.\n */\n rendererProps?: DeferInfer<P>;\n /**\n * Called when the user explicitly or implicitly cancels(closes) the query dialog.\n * Returning false will block the dialog from closing.\n */\n onCancel: () => boolean | void;\n /**\n * Called when the user explicitly applies the query option conditions.\n * Returning false will block the dialog from closing.\n */\n onSubmit: () => boolean | void;\n}\n\n/** Optionally provide query option presets. */\nexport interface PresetMenuProps extends QueryOption {\n /** Mode defining whether menu selection is single or multi mode. */\n mode?: ExcludeStrict<MenuProps['mode'], 'action'>;\n /** Items of the menu. */\n items: { id: string; text: string; selected: boolean; icon?: string }[];\n /** Callback invoked on item selection. Passes the item id as an argument. */\n onItemClick: MenuProps['onItemClick'];\n}\n\nexport type QueryOptionId = 'filter' | 'sort' | 'group';\n\nexport interface ListToolbarProps extends BaseProps, TestIdProp {\n /** Renders a simple text name of table */\n name: string;\n /**\n * Uses specific heading tag for header.\n * @default h3\n */\n headingTag?: HeadingTag;\n /** Renders a simple view heading text or view selection menu. */\n viewSelector?: ViewSelectorProps;\n /** Props related to list used as a form control. */\n formControlProps?: Pick<FormControlProps, 'required' | 'additionalInfo' | 'info' | 'status'>;\n /** Props related to new item creation button. */\n createNew?: {\n /** Label of the new item creation button. */\n label?: string;\n /** Callback that will render a Create new button and is fired when that button is clicked. */\n onClick: (e: MouseEvent) => void;\n };\n /** Props related to keyboard instructions. */\n keyboardInstructions?: ReactNode;\n /** Props related to wrap button. */\n wrap?: {\n /** value which holds the status of the wrap */\n enabled?: boolean;\n /** Callback that will fire to wrap the content when that button is clicked. */\n onClick: (e: MouseEvent) => void;\n };\n /** Props related to the Search Input. */\n search?: SearchInputProps;\n /** Total returned results related for a given search. Optional indication of a selected item count. */\n count?:\n | {\n total: number;\n /**\n * If true renders + next to total number.\n * @default false\n */\n totalHasMore?: boolean;\n selected?: number;\n }\n | {\n selected: number;\n total?: never;\n totalHasMore?: never;\n };\n /** Additional actions region */\n additionalActions?: ReactNode;\n /** Custom Rendering or available presets for filtering. */\n filter?: QueryOptionDialogProps | PresetMenuProps;\n /** Custom Rendering or available presets for sorting. */\n sort?: QueryOptionDialogProps | PresetMenuProps;\n /** Custom Rendering or available presets for grouping. */\n group?: QueryOptionDialogProps | PresetMenuProps;\n /** Top level dataset actions. */\n actions?: Action[];\n /** Ref for the actions button element. */\n actionsButtonRef?: Ref<HTMLButtonElement>;\n /** Ref for the wrapping element. */\n ref?: Ref<HTMLDivElement>;\n}\n"]}
1
+ {"version":3,"file":"ListToolbar.types.js","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { MouseEvent, Ref, ComponentType, ReactNode } from 'react';\n\nimport type { SearchInputProps } from '../SearchInput';\nimport type { MenuGroupProps, MenuProps } from '../Menu';\nimport type {\n Action,\n BaseProps,\n DeferInfer,\n ExcludeStrict,\n HeadingTag,\n TestIdProp\n} from '../../types';\nimport type { AvatarProps } from '../Avatar';\nimport type { FormControlProps } from '../FormControl';\n\nexport interface ViewProps {\n /** Unique, stable identifier of this view. */\n id: string;\n /** Label text of this view. */\n text: string;\n /** Flag indicating whether this view is currently selected. */\n selected: boolean;\n /** A count to assist with number of associated items. */\n count?: number;\n /** A visual to assist identifying an item. */\n visual?: Pick<AvatarProps, 'name' | 'icon' | 'imageSrc' | 'status'>;\n}\n\nexport interface ViewGroupProps {\n /** Label text of the group. */\n text: MenuGroupProps['label'];\n /** Array of items belonging to the group. */\n items: ViewProps[];\n}\n\nexport interface ViewSelectorProps {\n /** A list of pre-defined data views. */\n views: (ViewProps | ViewGroupProps)[];\n /** Called when a view is selected. */\n onViewSelect: MenuProps['onItemClick'];\n /** Determines which view is the default. */\n defaultId?: string;\n /** Determines which view is the default in the app. */\n appDefaultId?: string;\n}\n\nexport interface QueryOption {\n /** A count representing the number of applied conditions within the query option. */\n count?: number;\n}\n\nexport interface QueryOptionDialogProps<P extends object = any> extends QueryOption {\n /** A component to render the content portion of the query option dialog. */\n renderer: ComponentType<P>;\n /**\n * A props object that will be passed to the content renderer.\n */\n rendererProps?: DeferInfer<P>;\n /**\n * Called when the user explicitly or implicitly cancels(closes) the query dialog.\n * Returning false will block the dialog from closing.\n */\n onCancel: () => boolean | void;\n /**\n * Called when the user explicitly applies the query option conditions.\n * Returning false will block the dialog from closing.\n */\n onSubmit: () => boolean | void;\n}\n\n/** Optionally provide query option presets. */\nexport interface PresetMenuProps extends QueryOption {\n /** Mode defining whether menu selection is single or multi mode. */\n mode?: ExcludeStrict<MenuProps['mode'], 'action'>;\n /** Items of the menu. */\n items: { id: string; text: string; selected: boolean; icon?: string }[];\n /** Callback invoked on item selection. Passes the item id as an argument. */\n onItemClick: MenuProps['onItemClick'];\n}\n\nexport type QueryOptionId = 'filter' | 'sort' | 'group';\n\nexport interface ListToolbarProps extends BaseProps, TestIdProp {\n /** Renders a simple text name of table */\n name: string;\n /**\n * Uses specific heading tag for header.\n * @default h3\n */\n headingTag?: HeadingTag;\n /** Renders a simple view heading text or view selection menu. */\n viewSelector?: ViewSelectorProps;\n /** Props related to list used as a form control. */\n formControlProps?: Pick<FormControlProps, 'required' | 'additionalInfo' | 'info' | 'status'>;\n /** Props related to new item creation button. */\n createNew?: {\n /** Label of the new item creation button. */\n label?: string;\n /** Callback that will render a Create new button and is fired when that button is clicked. */\n onClick: (e: MouseEvent) => void;\n };\n /** Props related to wrap button. */\n wrap?: {\n /** value which holds the status of the wrap */\n enabled?: boolean;\n /** Callback that will fire to wrap the content when that button is clicked. */\n onClick: (e: MouseEvent) => void;\n };\n /** Props related to the Search Input. */\n search?: SearchInputProps;\n /** Total returned results related for a given search. Optional indication of a selected item count. */\n count?:\n | {\n total: number;\n /**\n * If true renders + next to total number.\n * @default false\n */\n totalHasMore?: boolean;\n selected?: number;\n }\n | {\n selected: number;\n total?: never;\n totalHasMore?: never;\n };\n /** Additional actions region */\n additionalActions?: ReactNode;\n /** Custom Rendering or available presets for filtering. */\n filter?: QueryOptionDialogProps | PresetMenuProps;\n /** Custom Rendering or available presets for sorting. */\n sort?: QueryOptionDialogProps | PresetMenuProps;\n /** Custom Rendering or available presets for grouping. */\n group?: QueryOptionDialogProps | PresetMenuProps;\n /** Top level dataset actions. */\n actions?: Action[];\n /** Ref for the actions button element. */\n actionsButtonRef?: Ref<HTMLButtonElement>;\n /** Ref for the wrapping element. */\n ref?: Ref<HTMLDivElement>;\n}\n"]}
@@ -8,7 +8,6 @@ interface SkipLink {
8
8
  export interface SkipLinksProps {
9
9
  items: SkipLink[];
10
10
  }
11
- export declare const StyledSkipLinks: import("styled-components").StyledComponent<(<Modifiers extends string = string>(props: import("../Popover").PopoverProps<Modifiers> & import("../..").ForwardProps) => import("react").ReactElement | null), import("styled-components").DefaultTheme, {}, never>;
12
11
  declare const SkipLinks: import("react").NamedExoticComponent<SkipLinksProps>;
13
12
  export default SkipLinks;
14
13
  //# sourceMappingURL=SkipLinks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SkipLinks.d.ts","sourceRoot":"","sources":["../../../src/components/SkipLinks/SkipLinks.tsx"],"names":[],"mappings":"AAgBA,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AASD,eAAO,MAAM,eAAe,oQAmB1B,CAAC;AAgBH,QAAA,MAAM,SAAS,sDAqGb,CAAC;AAEH,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"SkipLinks.d.ts","sourceRoot":"","sources":["../../../src/components/SkipLinks/SkipLinks.tsx"],"names":[],"mappings":"AAWA,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,QAAA,MAAM,SAAS,sDAqFb,CAAC;AAEH,eAAe,SAAS,CAAC"}
@@ -1,56 +1,19 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { memo, useMemo } from 'react';
3
- import styled, { css } from 'styled-components';
4
- import { hideVisually, remToPx, stripUnit } from 'polished';
5
- import { Shortcut } from 'shortcuts';
6
- import { defaultThemeProp } from '../../theme';
3
+ import { remToPx, stripUnit } from 'polished';
7
4
  import { focusHeadingOrContainer, tryCatch } from '../../utils';
8
- import Button, { StyledButtonLink } from '../Button';
9
- import Popover from '../Popover';
5
+ import Button from '../Button';
10
6
  import Flex from '../Flex';
11
- import { Keyboard } from '../Badges';
12
- import Text from '../Text';
13
- import Grid from '../Grid';
14
- import { useI18n, useShortcutManager, useTheme, useUID } from '../../hooks';
15
- const StyledSkipLinksItems = styled.div `
16
- & > ${StyledButtonLink} {
17
- display: block;
18
- margin-inline-start: 0;
19
- }
20
- `;
21
- export const StyledSkipLinks = styled(Popover)(props => {
22
- const { theme: { base: { spacing, 'z-index': zIndices } } } = props;
23
- return css `
24
- position: fixed;
25
- z-index: ${zIndices.max};
26
- overflow: auto;
27
- max-width: calc(100vw - 6 * ${spacing});
28
- max-height: calc(100vh - 6 * ${spacing});
29
-
30
- &:not(:focus-within) {
31
- z-index: -1;
32
- ${hideVisually}
33
- }
34
- `;
35
- });
36
- StyledSkipLinks.defaultProps = defaultThemeProp;
37
- const StyledShortcuts = styled.div(({ theme }) => {
38
- return css `
39
- border-block-start: 0.0625rem solid ${theme.base.palette['border-line']};
40
-
41
- [role='listitem'] {
42
- display: contents;
43
- }
44
- `;
45
- });
46
- StyledShortcuts.defaultProps = defaultThemeProp;
7
+ import { useI18n, useShortcutManager, useTheme } from '../../hooks';
8
+ import useKeyboardCommands, { KeyboardShortcut } from '../KeyboardCommands';
9
+ import { StyledLinkWithShortcut, StyledSkipLinks, StyledSkipLinksItems } from './SkipLinks.styles';
47
10
  const SkipLinks = memo(function SkipLinks({ items }) {
48
11
  const bindings = useShortcutManager();
49
12
  const t = useI18n();
50
- const shortcutHeadingId = useUID();
13
+ const openKeyboardCommands = useKeyboardCommands();
51
14
  const { base: { spacing } } = useTheme();
52
15
  const padding = useMemo(() => tryCatch(() => Number(stripUnit(remToPx(spacing))) * 3, () => 24), [spacing]);
53
- return (_jsxs(Flex, { as: StyledSkipLinks, portal: false, container: { direction: 'column' }, placement: 'bottom-end', target: {
16
+ return (_jsx(Flex, { as: StyledSkipLinks, portal: false, container: { direction: 'column' }, placement: 'bottom-end', target: {
54
17
  getBoundingClientRect: () => ({
55
18
  height: 0,
56
19
  width: 0,
@@ -72,15 +35,9 @@ const SkipLinks = memo(function SkipLinks({ items }) {
72
35
  offset: [0, 0]
73
36
  }
74
37
  }
75
- ], "data-app-region": true, "aria-label": t('skip_navigation_menu_label'), children: [_jsx(Flex, { container: { direction: 'column', gap: 0.5, pad: 1 }, as: StyledSkipLinksItems, children: items.map(item => (_jsx(Button, { variant: 'link', onClick: () => focusHeadingOrContainer(document.querySelector(item.target.selector) ?? document, item.target.ariaLabel), children: item.label }, item.label))) }), Object.entries(bindings).length > 0 && (_jsxs(Flex, { container: { direction: 'column', gap: 1, pad: 1 }, as: StyledShortcuts, children: [_jsx(Text, { variant: 'h2', as: 'span', id: shortcutHeadingId, children: t('shortcuts') }), _jsx(Grid, { container: {
76
- cols: 'auto minmax(0, 1fr)',
77
- gap: 1,
78
- alignItems: 'center'
79
- }, role: 'list', "aria-labelledby": shortcutHeadingId, children: Object.entries(bindings).map(([actionId, { keyBinding }]) => {
80
- return (_jsxs("div", { role: 'listitem', children: [_jsx(Text, { children: t(`shortcut_${actionId}`) }), _jsx(Flex, { container: { gap: 0.5 }, children: Shortcut.shortcut2accelerator(keyBinding)
81
- .split('+')
82
- .map(key => (_jsx(Keyboard, { keyName: key }, key))) })] }, actionId));
83
- }) })] }))] }));
38
+ ], "data-app-region": true, "aria-label": t('skip_navigation_menu_label'), children: _jsxs(Flex, { container: { direction: 'column', gap: 0.5, pad: 1 }, as: StyledSkipLinksItems, children: [items.map(item => (_jsx(Button, { variant: 'link', onClick: () => focusHeadingOrContainer(document.querySelector(item.target.selector) ?? document, item.target.ariaLabel), children: item.label }, item.label))), bindings.KeyboardCommands?.keyBinding && (_jsxs(StyledLinkWithShortcut, { children: [_jsx(Button, { variant: 'link', onClick: () => {
39
+ openKeyboardCommands();
40
+ }, children: t('keyboard_commands') }, 'Keyboard commands'), _jsx(KeyboardShortcut, { keyBinding: bindings.KeyboardCommands?.keyBinding })] }))] }) }));
84
41
  });
85
42
  export default SkipLinks;
86
43
  //# sourceMappingURL=SkipLinks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SkipLinks.js","sourceRoot":"","sources":["../../../src/components/SkipLinks/SkipLinks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { memo, useMemo } from 'react';\nimport styled, { css } from 'styled-components';\nimport { hideVisually, remToPx, stripUnit } from 'polished';\nimport { Shortcut } from 'shortcuts';\n\nimport { defaultThemeProp } from '../../theme';\nimport { focusHeadingOrContainer, tryCatch } from '../../utils';\nimport Button, { StyledButtonLink } from '../Button';\nimport Popover from '../Popover';\nimport Flex from '../Flex';\nimport { Keyboard } from '../Badges';\nimport Text from '../Text';\nimport Grid from '../Grid';\nimport { useI18n, useShortcutManager, useTheme, useUID } from '../../hooks';\nimport type { Translation } from '../../i18n';\n\ninterface SkipLink {\n label: string;\n target: { ariaLabel: string; selector: string };\n}\n\nexport interface SkipLinksProps {\n items: SkipLink[];\n}\n\nconst StyledSkipLinksItems = styled.div`\n & > ${StyledButtonLink} {\n display: block;\n margin-inline-start: 0;\n }\n`;\n\nexport const StyledSkipLinks = styled(Popover)(props => {\n const {\n theme: {\n base: { spacing, 'z-index': zIndices }\n }\n } = props;\n\n return css`\n position: fixed;\n z-index: ${zIndices.max};\n overflow: auto;\n max-width: calc(100vw - 6 * ${spacing});\n max-height: calc(100vh - 6 * ${spacing});\n\n &:not(:focus-within) {\n z-index: -1;\n ${hideVisually}\n }\n `;\n});\n\nStyledSkipLinks.defaultProps = defaultThemeProp;\n\nconst StyledShortcuts = styled.div(({ theme }) => {\n return css`\n border-block-start: 0.0625rem solid ${theme.base.palette['border-line']};\n\n [role='listitem'] {\n display: contents;\n }\n `;\n});\n\nStyledShortcuts.defaultProps = defaultThemeProp;\n\nconst SkipLinks = memo(function SkipLinks({ items }: SkipLinksProps) {\n const bindings = useShortcutManager();\n const t = useI18n();\n const shortcutHeadingId = useUID();\n\n const {\n base: { spacing }\n } = useTheme();\n\n const padding = useMemo(\n () =>\n tryCatch(\n () => Number(stripUnit(remToPx(spacing))) * 3,\n () => 24\n ),\n [spacing]\n );\n\n return (\n <Flex\n as={StyledSkipLinks}\n portal={false}\n container={{ direction: 'column' }}\n placement='bottom-end'\n target={{\n getBoundingClientRect: () => ({\n height: 0,\n width: 0,\n x: padding,\n y: padding,\n top: padding,\n bottom: padding,\n left: padding,\n right: padding\n })\n }}\n modifiers={[\n {\n name: 'placeAndContain',\n enabled: false\n },\n {\n name: 'offset',\n options: {\n offset: [0, 0]\n }\n }\n ]}\n data-app-region\n aria-label={t('skip_navigation_menu_label')}\n >\n <Flex container={{ direction: 'column', gap: 0.5, pad: 1 }} as={StyledSkipLinksItems}>\n {items.map(item => (\n <Button\n variant='link'\n key={item.label}\n onClick={() =>\n focusHeadingOrContainer(\n document.querySelector(item.target.selector) ?? document,\n item.target.ariaLabel\n )\n }\n >\n {item.label}\n </Button>\n ))}\n </Flex>\n\n {Object.entries(bindings).length > 0 && (\n <Flex container={{ direction: 'column', gap: 1, pad: 1 }} as={StyledShortcuts}>\n <Text variant='h2' as='span' id={shortcutHeadingId}>\n {t('shortcuts')}\n </Text>\n <Grid\n container={{\n cols: 'auto minmax(0, 1fr)',\n gap: 1,\n alignItems: 'center'\n }}\n role='list'\n aria-labelledby={shortcutHeadingId}\n >\n {Object.entries(bindings).map(([actionId, { keyBinding }]) => {\n return (\n <div role='listitem' key={actionId}>\n <Text>{t(`shortcut_${actionId}` as keyof Translation)}</Text>\n <Flex container={{ gap: 0.5 }}>\n {Shortcut.shortcut2accelerator(keyBinding)\n .split('+')\n .map(key => (\n <Keyboard keyName={key} key={key} />\n ))}\n </Flex>\n </div>\n );\n })}\n </Grid>\n </Flex>\n )}\n </Flex>\n );\n});\n\nexport default SkipLinks;\n"]}
1
+ {"version":3,"file":"SkipLinks.js","sourceRoot":"","sources":["../../../src/components/SkipLinks/SkipLinks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { memo, useMemo } from 'react';\nimport { remToPx, stripUnit } from 'polished';\n\nimport { focusHeadingOrContainer, tryCatch } from '../../utils';\nimport Button from '../Button';\nimport Flex from '../Flex';\nimport { useI18n, useShortcutManager, useTheme } from '../../hooks';\nimport useKeyboardCommands, { KeyboardShortcut } from '../KeyboardCommands';\n\nimport { StyledLinkWithShortcut, StyledSkipLinks, StyledSkipLinksItems } from './SkipLinks.styles';\n\ninterface SkipLink {\n label: string;\n target: { ariaLabel: string; selector: string };\n}\n\nexport interface SkipLinksProps {\n items: SkipLink[];\n}\n\nconst SkipLinks = memo(function SkipLinks({ items }: SkipLinksProps) {\n const bindings = useShortcutManager();\n const t = useI18n();\n const openKeyboardCommands = useKeyboardCommands();\n\n const {\n base: { spacing }\n } = useTheme();\n\n const padding = useMemo(\n () =>\n tryCatch(\n () => Number(stripUnit(remToPx(spacing))) * 3,\n () => 24\n ),\n [spacing]\n );\n\n return (\n <Flex\n as={StyledSkipLinks}\n portal={false}\n container={{ direction: 'column' }}\n placement='bottom-end'\n target={{\n getBoundingClientRect: () => ({\n height: 0,\n width: 0,\n x: padding,\n y: padding,\n top: padding,\n bottom: padding,\n left: padding,\n right: padding\n })\n }}\n modifiers={[\n {\n name: 'placeAndContain',\n enabled: false\n },\n {\n name: 'offset',\n options: {\n offset: [0, 0]\n }\n }\n ]}\n data-app-region\n aria-label={t('skip_navigation_menu_label')}\n >\n <Flex container={{ direction: 'column', gap: 0.5, pad: 1 }} as={StyledSkipLinksItems}>\n {items.map(item => (\n <Button\n variant='link'\n key={item.label}\n onClick={() =>\n focusHeadingOrContainer(\n document.querySelector(item.target.selector) ?? document,\n item.target.ariaLabel\n )\n }\n >\n {item.label}\n </Button>\n ))}\n\n {bindings.KeyboardCommands?.keyBinding && (\n <StyledLinkWithShortcut>\n <Button\n variant='link'\n key='Keyboard commands'\n onClick={() => {\n openKeyboardCommands();\n }}\n >\n {t('keyboard_commands')}\n </Button>\n\n <KeyboardShortcut keyBinding={bindings.KeyboardCommands?.keyBinding} />\n </StyledLinkWithShortcut>\n )}\n </Flex>\n </Flex>\n );\n});\n\nexport default SkipLinks;\n"]}
@@ -0,0 +1,6 @@
1
+ export declare const StyledLinkWithShortcut: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
2
+ export declare const StyledSkipLinksItems: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
3
+ export declare const StyledSkipLinks: import("styled-components").StyledComponent<(<Modifiers extends string = string>(props: import("../Popover").PopoverProps<Modifiers> & import("../..").ForwardProps) => import("react").ReactElement | null), import("styled-components").DefaultTheme, {}, never>;
4
+ export declare const StyledShortcuts: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
5
+ export declare const StyledSkipLinksWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
6
+ //# sourceMappingURL=SkipLinks.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkipLinks.styles.d.ts","sourceRoot":"","sources":["../../../src/components/SkipLinks/SkipLinks.styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,sBAAsB,yGAQlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,yGAKhC,CAAC;AAEF,eAAO,MAAM,eAAe,oQAmB1B,CAAC;AAIH,eAAO,MAAM,eAAe,yGAQ1B,CAAC;AAIH,eAAO,MAAM,sBAAsB,yGAiBlC,CAAC"}
@@ -0,0 +1,61 @@
1
+ import styled, { css } from 'styled-components';
2
+ import { hideVisually } from 'polished';
3
+ import { StyledKeyboard } from '../Badges/Keyboard';
4
+ import { StyledButtonLink } from '../Button';
5
+ import Popover from '../Popover';
6
+ import { defaultThemeProp } from '../../theme';
7
+ export const StyledLinkWithShortcut = styled.div `
8
+ display: flex;
9
+ gap: 0.5rem;
10
+
11
+ ${StyledKeyboard} {
12
+ /* reset position applied in Keyboard badge to align vertically with link */
13
+ inset-block-start: 0;
14
+ }
15
+ `;
16
+ export const StyledSkipLinksItems = styled.div `
17
+ & > ${StyledButtonLink} {
18
+ display: block;
19
+ margin-inline-start: 0;
20
+ }
21
+ `;
22
+ export const StyledSkipLinks = styled(Popover)(props => {
23
+ const { theme: { base: { spacing, 'z-index': zIndices } } } = props;
24
+ return css `
25
+ position: fixed;
26
+ z-index: ${zIndices.max};
27
+ overflow: auto;
28
+ max-width: calc(100vw - 6 * ${spacing});
29
+ max-height: calc(100vh - 6 * ${spacing});
30
+
31
+ &:not(:focus-within) {
32
+ z-index: -1;
33
+ ${hideVisually}
34
+ }
35
+ `;
36
+ });
37
+ StyledSkipLinks.defaultProps = defaultThemeProp;
38
+ export const StyledShortcuts = styled.div(({ theme }) => {
39
+ return css `
40
+ border-block-start: 0.0625rem solid ${theme.base.palette['border-line']};
41
+
42
+ [role='listitem'] {
43
+ display: contents;
44
+ }
45
+ `;
46
+ });
47
+ StyledShortcuts.defaultProps = defaultThemeProp;
48
+ export const StyledSkipLinksWrapper = styled.div(({ theme: { base: { spacing } } }) => {
49
+ return css `
50
+ ${StyledSkipLinks} {
51
+ &:not(:focus-within) {
52
+ clip: unset;
53
+ height: auto;
54
+ padding: ${spacing};
55
+ width: auto;
56
+ }
57
+ }
58
+ `;
59
+ });
60
+ StyledSkipLinksWrapper.defaultProps = defaultThemeProp;
61
+ //# sourceMappingURL=SkipLinks.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkipLinks.styles.js","sourceRoot":"","sources":["../../../src/components/SkipLinks/SkipLinks.styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;IAI5C,cAAc;;;;CAIjB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAA;QACtC,gBAAgB;;;;CAIvB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE;IACrD,MAAM,EACJ,KAAK,EAAE,EACL,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EACvC,EACF,GAAG,KAAK,CAAC;IAEV,OAAO,GAAG,CAAA;;eAEG,QAAQ,CAAC,GAAG;;kCAEO,OAAO;mCACN,OAAO;;;;QAIlC,YAAY;;GAEjB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACtD,OAAO,GAAG,CAAA;0CAC8B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;;;;;GAKxE,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAC9C,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EAAE,OAAO,EAAE,EAClB,EACF,EAAE,EAAE;IACH,OAAO,GAAG,CAAA;QACN,eAAe;;;;qBAIF,OAAO;;;;KAIvB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,sBAAsB,CAAC,YAAY,GAAG,gBAAgB,CAAC","sourcesContent":["import styled, { css } from 'styled-components';\nimport { hideVisually } from 'polished';\n\nimport { StyledKeyboard } from '../Badges/Keyboard';\nimport { StyledButtonLink } from '../Button';\nimport Popover from '../Popover';\nimport { defaultThemeProp } from '../../theme';\n\nexport const StyledLinkWithShortcut = styled.div`\n display: flex;\n gap: 0.5rem;\n\n ${StyledKeyboard} {\n /* reset position applied in Keyboard badge to align vertically with link */\n inset-block-start: 0;\n }\n`;\n\nexport const StyledSkipLinksItems = styled.div`\n & > ${StyledButtonLink} {\n display: block;\n margin-inline-start: 0;\n }\n`;\n\nexport const StyledSkipLinks = styled(Popover)(props => {\n const {\n theme: {\n base: { spacing, 'z-index': zIndices }\n }\n } = props;\n\n return css`\n position: fixed;\n z-index: ${zIndices.max};\n overflow: auto;\n max-width: calc(100vw - 6 * ${spacing});\n max-height: calc(100vh - 6 * ${spacing});\n\n &:not(:focus-within) {\n z-index: -1;\n ${hideVisually}\n }\n `;\n});\n\nStyledSkipLinks.defaultProps = defaultThemeProp;\n\nexport const StyledShortcuts = styled.div(({ theme }) => {\n return css`\n border-block-start: 0.0625rem solid ${theme.base.palette['border-line']};\n\n [role='listitem'] {\n display: contents;\n }\n `;\n});\n\nStyledShortcuts.defaultProps = defaultThemeProp;\n\nexport const StyledSkipLinksWrapper = styled.div(\n ({\n theme: {\n base: { spacing }\n }\n }) => {\n return css`\n ${StyledSkipLinks} {\n &:not(:focus-within) {\n clip: unset;\n height: auto;\n padding: ${spacing};\n width: auto;\n }\n }\n `;\n }\n);\n\nStyledSkipLinksWrapper.defaultProps = defaultThemeProp;\n"]}
@@ -1,4 +1,4 @@
1
1
  export { default } from './SkipLinks';
2
- export { StyledSkipLinks } from './SkipLinks';
2
+ export { StyledSkipLinks } from './SkipLinks.styles';
3
3
  export type { SkipLinksProps } from './SkipLinks';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SkipLinks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SkipLinks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { default } from './SkipLinks';
2
- export { StyledSkipLinks } from './SkipLinks';
2
+ export { StyledSkipLinks } from './SkipLinks.styles';
3
3
  //# sourceMappingURL=index.js.map