@pega/cosmos-react-core 8.8.0 → 9.0.0-build.10.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 (615) hide show
  1. package/lib/components/AppShell/AppHeader.d.ts.map +1 -1
  2. package/lib/components/AppShell/AppHeader.js +4 -1
  3. package/lib/components/AppShell/AppHeader.js.map +1 -1
  4. package/lib/components/AppShell/NavigationListItemWrapper.d.ts.map +1 -1
  5. package/lib/components/AppShell/NavigationListItemWrapper.js +3 -4
  6. package/lib/components/AppShell/NavigationListItemWrapper.js.map +1 -1
  7. package/lib/components/AppShell/ThemeSwitcher.d.ts +9 -0
  8. package/lib/components/AppShell/ThemeSwitcher.d.ts.map +1 -0
  9. package/lib/components/AppShell/ThemeSwitcher.js +58 -0
  10. package/lib/components/AppShell/ThemeSwitcher.js.map +1 -0
  11. package/lib/components/AppShell/ThemeSwitcher.test-ids.d.ts +2 -0
  12. package/lib/components/AppShell/ThemeSwitcher.test-ids.d.ts.map +1 -0
  13. package/lib/components/AppShell/ThemeSwitcher.test-ids.js +3 -0
  14. package/lib/components/AppShell/ThemeSwitcher.test-ids.js.map +1 -0
  15. package/lib/components/Avatar/Avatar.d.ts.map +1 -1
  16. package/lib/components/Avatar/Avatar.js +10 -4
  17. package/lib/components/Avatar/Avatar.js.map +1 -1
  18. package/lib/components/Banner/Banner.js +1 -1
  19. package/lib/components/Banner/Banner.js.map +1 -1
  20. package/lib/components/ComboBox/ComboBox.d.ts.map +1 -1
  21. package/lib/components/ComboBox/ComboBox.js +9 -4
  22. package/lib/components/ComboBox/ComboBox.js.map +1 -1
  23. package/lib/components/ComboBox/ComboBox.types.d.ts +5 -0
  24. package/lib/components/ComboBox/ComboBox.types.d.ts.map +1 -1
  25. package/lib/components/ComboBox/ComboBox.types.js.map +1 -1
  26. package/lib/components/CompositeInput/CompositeInput.d.ts.map +1 -1
  27. package/lib/components/CompositeInput/CompositeInput.js +6 -10
  28. package/lib/components/CompositeInput/CompositeInput.js.map +1 -1
  29. package/lib/components/Configuration/Configuration.d.ts +6 -0
  30. package/lib/components/Configuration/Configuration.d.ts.map +1 -1
  31. package/lib/components/Configuration/Configuration.js +5 -1
  32. package/lib/components/Configuration/Configuration.js.map +1 -1
  33. package/lib/components/CreditCard/CreditCardInput.d.ts +1 -1
  34. package/lib/components/CreditCard/CreditCardInput.js +1 -1
  35. package/lib/components/CreditCard/CreditCardInput.js.map +1 -1
  36. package/lib/components/Currency/CurrencyInput.d.ts.map +1 -1
  37. package/lib/components/Currency/CurrencyInput.js +2 -2
  38. package/lib/components/Currency/CurrencyInput.js.map +1 -1
  39. package/lib/components/DateTime/Input/DateInput.d.ts.map +1 -1
  40. package/lib/components/DateTime/Input/DateInput.js +3 -3
  41. package/lib/components/DateTime/Input/DateInput.js.map +1 -1
  42. package/lib/components/DateTime/Input/DateRangeInput.d.ts.map +1 -1
  43. package/lib/components/DateTime/Input/DateRangeInput.js +1 -1
  44. package/lib/components/DateTime/Input/DateRangeInput.js.map +1 -1
  45. package/lib/components/DateTime/Input/DateTime.styles.d.ts.map +1 -1
  46. package/lib/components/DateTime/Input/DateTime.styles.js +0 -4
  47. package/lib/components/DateTime/Input/DateTime.styles.js.map +1 -1
  48. package/lib/components/DateTime/Input/DateTimeInput.d.ts.map +1 -1
  49. package/lib/components/DateTime/Input/DateTimeInput.js +17 -2
  50. package/lib/components/DateTime/Input/DateTimeInput.js.map +1 -1
  51. package/lib/components/DateTime/Input/Duration/DurationInput.d.ts.map +1 -1
  52. package/lib/components/DateTime/Input/Duration/DurationInput.js +3 -1
  53. package/lib/components/DateTime/Input/Duration/DurationInput.js.map +1 -1
  54. package/lib/components/DateTime/Input/MonthInput.d.ts.map +1 -1
  55. package/lib/components/DateTime/Input/MonthInput.js +2 -2
  56. package/lib/components/DateTime/Input/MonthInput.js.map +1 -1
  57. package/lib/components/DateTime/Input/QuarterInput.d.ts.map +1 -1
  58. package/lib/components/DateTime/Input/QuarterInput.js +2 -2
  59. package/lib/components/DateTime/Input/QuarterInput.js.map +1 -1
  60. package/lib/components/DateTime/Input/TimeInput.d.ts.map +1 -1
  61. package/lib/components/DateTime/Input/TimeInput.js +2 -2
  62. package/lib/components/DateTime/Input/TimeInput.js.map +1 -1
  63. package/lib/components/DateTime/Input/TimeRangeInput.d.ts.map +1 -1
  64. package/lib/components/DateTime/Input/TimeRangeInput.js +1 -1
  65. package/lib/components/DateTime/Input/TimeRangeInput.js.map +1 -1
  66. package/lib/components/DateTime/Input/WeekInput.d.ts.map +1 -1
  67. package/lib/components/DateTime/Input/WeekInput.js +3 -3
  68. package/lib/components/DateTime/Input/WeekInput.js.map +1 -1
  69. package/lib/components/Dialog/Dialog.types.d.ts +4 -0
  70. package/lib/components/Dialog/Dialog.types.d.ts.map +1 -1
  71. package/lib/components/Dialog/Dialog.types.js.map +1 -1
  72. package/lib/components/Dialog/FormDialog.d.ts.map +1 -1
  73. package/lib/components/Dialog/FormDialog.js +7 -2
  74. package/lib/components/Dialog/FormDialog.js.map +1 -1
  75. package/lib/components/Dialog/InfoDialog.js +1 -1
  76. package/lib/components/Dialog/InfoDialog.js.map +1 -1
  77. package/lib/components/FieldGroup/FieldGroupList.d.ts.map +1 -1
  78. package/lib/components/FieldGroup/FieldGroupList.js +4 -2
  79. package/lib/components/FieldGroup/FieldGroupList.js.map +1 -1
  80. package/lib/components/FieldGroup/FieldGroupList.utils.d.ts +1 -1
  81. package/lib/components/FieldGroup/FieldGroupList.utils.js +2 -2
  82. package/lib/components/FieldGroup/FieldGroupList.utils.js.map +1 -1
  83. package/lib/components/FieldValueList/FieldValueList.d.ts.map +1 -1
  84. package/lib/components/FieldValueList/FieldValueList.js +8 -5
  85. package/lib/components/FieldValueList/FieldValueList.js.map +1 -1
  86. package/lib/components/File/FileInput.d.ts.map +1 -1
  87. package/lib/components/File/FileInput.js +2 -1
  88. package/lib/components/File/FileInput.js.map +1 -1
  89. package/lib/components/File/FileItem.d.ts.map +1 -1
  90. package/lib/components/File/FileItem.js +2 -2
  91. package/lib/components/File/FileItem.js.map +1 -1
  92. package/lib/components/FormField/FormField.d.ts.map +1 -1
  93. package/lib/components/FormField/FormField.js +3 -2
  94. package/lib/components/FormField/FormField.js.map +1 -1
  95. package/lib/components/Fullscreen/Fullscreen.d.ts.map +1 -1
  96. package/lib/components/Fullscreen/Fullscreen.js +1 -0
  97. package/lib/components/Fullscreen/Fullscreen.js.map +1 -1
  98. package/lib/components/Icon/Icon.d.ts.map +1 -1
  99. package/lib/components/Icon/Icon.js +7 -6
  100. package/lib/components/Icon/Icon.js.map +1 -1
  101. package/lib/components/Icon/streamline-icons/archive-solid.icon.d.ts +5 -0
  102. package/lib/components/Icon/streamline-icons/archive-solid.icon.d.ts.map +1 -0
  103. package/lib/components/Icon/streamline-icons/archive-solid.icon.js +7 -0
  104. package/lib/components/Icon/streamline-icons/archive-solid.icon.js.map +1 -0
  105. package/lib/components/Icon/streamline-icons/archive.icon.d.ts +5 -0
  106. package/lib/components/Icon/streamline-icons/archive.icon.d.ts.map +1 -0
  107. package/lib/components/Icon/streamline-icons/archive.icon.js +7 -0
  108. package/lib/components/Icon/streamline-icons/archive.icon.js.map +1 -0
  109. package/lib/components/Icon/streamline-icons/article-solid.icon.d.ts +5 -0
  110. package/lib/components/Icon/streamline-icons/article-solid.icon.d.ts.map +1 -0
  111. package/lib/components/Icon/streamline-icons/article-solid.icon.js +7 -0
  112. package/lib/components/Icon/streamline-icons/article-solid.icon.js.map +1 -0
  113. package/lib/components/Icon/streamline-icons/article.icon.d.ts +5 -0
  114. package/lib/components/Icon/streamline-icons/article.icon.d.ts.map +1 -0
  115. package/lib/components/Icon/streamline-icons/article.icon.js +7 -0
  116. package/lib/components/Icon/streamline-icons/article.icon.js.map +1 -0
  117. package/lib/components/Icon/streamline-icons/bell-solid.icon.d.ts +5 -0
  118. package/lib/components/Icon/streamline-icons/bell-solid.icon.d.ts.map +1 -0
  119. package/lib/components/Icon/streamline-icons/bell-solid.icon.js +7 -0
  120. package/lib/components/Icon/streamline-icons/bell-solid.icon.js.map +1 -0
  121. package/lib/components/Icon/streamline-icons/browser-site.icon.d.ts +5 -0
  122. package/lib/components/Icon/streamline-icons/browser-site.icon.d.ts.map +1 -0
  123. package/lib/components/Icon/streamline-icons/browser-site.icon.js +7 -0
  124. package/lib/components/Icon/streamline-icons/browser-site.icon.js.map +1 -0
  125. package/lib/components/Icon/streamline-icons/circle-mixed-right.icon.d.ts +5 -0
  126. package/lib/components/Icon/streamline-icons/circle-mixed-right.icon.d.ts.map +1 -0
  127. package/lib/components/Icon/streamline-icons/circle-mixed-right.icon.js +7 -0
  128. package/lib/components/Icon/streamline-icons/circle-mixed-right.icon.js.map +1 -0
  129. package/lib/components/Icon/streamline-icons/circle-stacked-mixed.icon.d.ts +5 -0
  130. package/lib/components/Icon/streamline-icons/circle-stacked-mixed.icon.d.ts.map +1 -0
  131. package/lib/components/Icon/streamline-icons/circle-stacked-mixed.icon.js +7 -0
  132. package/lib/components/Icon/streamline-icons/circle-stacked-mixed.icon.js.map +1 -0
  133. package/lib/components/Icon/streamline-icons/circle-stacked.icon.d.ts +5 -0
  134. package/lib/components/Icon/streamline-icons/circle-stacked.icon.d.ts.map +1 -0
  135. package/lib/components/Icon/streamline-icons/circle-stacked.icon.js +7 -0
  136. package/lib/components/Icon/streamline-icons/circle-stacked.icon.js.map +1 -0
  137. package/lib/components/Icon/streamline-icons/cloud-nodes.icon.d.ts +5 -0
  138. package/lib/components/Icon/streamline-icons/cloud-nodes.icon.d.ts.map +1 -0
  139. package/lib/components/Icon/streamline-icons/cloud-nodes.icon.js +7 -0
  140. package/lib/components/Icon/streamline-icons/cloud-nodes.icon.js.map +1 -0
  141. package/lib/components/Icon/streamline-icons/condition-critical.icon.d.ts +5 -0
  142. package/lib/components/Icon/streamline-icons/condition-critical.icon.d.ts.map +1 -0
  143. package/lib/components/Icon/streamline-icons/condition-critical.icon.js +7 -0
  144. package/lib/components/Icon/streamline-icons/condition-critical.icon.js.map +1 -0
  145. package/lib/components/Icon/streamline-icons/condition-satisfactory.icon.d.ts +5 -0
  146. package/lib/components/Icon/streamline-icons/condition-satisfactory.icon.d.ts.map +1 -0
  147. package/lib/components/Icon/streamline-icons/condition-satisfactory.icon.js +7 -0
  148. package/lib/components/Icon/streamline-icons/condition-satisfactory.icon.js.map +1 -0
  149. package/lib/components/Icon/streamline-icons/disc-document.icon.d.ts +5 -0
  150. package/lib/components/Icon/streamline-icons/disc-document.icon.d.ts.map +1 -0
  151. package/lib/components/Icon/streamline-icons/disc-document.icon.js +7 -0
  152. package/lib/components/Icon/streamline-icons/disc-document.icon.js.map +1 -0
  153. package/lib/components/Icon/streamline-icons/disc-nodes.icon.d.ts +5 -0
  154. package/lib/components/Icon/streamline-icons/disc-nodes.icon.d.ts.map +1 -0
  155. package/lib/components/Icon/streamline-icons/disc-nodes.icon.js +7 -0
  156. package/lib/components/Icon/streamline-icons/disc-nodes.icon.js.map +1 -0
  157. package/lib/components/Icon/streamline-icons/document-doc.icon.d.ts +5 -0
  158. package/lib/components/Icon/streamline-icons/document-doc.icon.d.ts.map +1 -0
  159. package/lib/components/Icon/streamline-icons/document-doc.icon.js +7 -0
  160. package/lib/components/Icon/streamline-icons/document-doc.icon.js.map +1 -0
  161. package/lib/components/Icon/streamline-icons/document-json.icon.d.ts +5 -0
  162. package/lib/components/Icon/streamline-icons/document-json.icon.d.ts.map +1 -0
  163. package/lib/components/Icon/streamline-icons/document-json.icon.js +7 -0
  164. package/lib/components/Icon/streamline-icons/document-json.icon.js.map +1 -0
  165. package/lib/components/Icon/streamline-icons/document-xls.icon.d.ts +5 -0
  166. package/lib/components/Icon/streamline-icons/document-xls.icon.d.ts.map +1 -0
  167. package/lib/components/Icon/streamline-icons/document-xls.icon.js +7 -0
  168. package/lib/components/Icon/streamline-icons/document-xls.icon.js.map +1 -0
  169. package/lib/components/Icon/streamline-icons/documents.icon.d.ts +5 -0
  170. package/lib/components/Icon/streamline-icons/documents.icon.d.ts.map +1 -0
  171. package/lib/components/Icon/streamline-icons/documents.icon.js +7 -0
  172. package/lib/components/Icon/streamline-icons/documents.icon.js.map +1 -0
  173. package/lib/components/Icon/streamline-icons/field-cursor.icon.js +1 -1
  174. package/lib/components/Icon/streamline-icons/field-cursor.icon.js.map +1 -1
  175. package/lib/components/Icon/streamline-icons/filter-on.icon.d.ts +5 -0
  176. package/lib/components/Icon/streamline-icons/filter-on.icon.d.ts.map +1 -0
  177. package/lib/components/Icon/streamline-icons/filter-on.icon.js +7 -0
  178. package/lib/components/Icon/streamline-icons/filter-on.icon.js.map +1 -0
  179. package/lib/components/Icon/streamline-icons/freeze-column.icon.d.ts +5 -0
  180. package/lib/components/Icon/streamline-icons/freeze-column.icon.d.ts.map +1 -0
  181. package/lib/components/Icon/streamline-icons/freeze-column.icon.js +7 -0
  182. package/lib/components/Icon/streamline-icons/freeze-column.icon.js.map +1 -0
  183. package/lib/components/Icon/streamline-icons/galaxy.icon.d.ts +5 -0
  184. package/lib/components/Icon/streamline-icons/galaxy.icon.d.ts.map +1 -0
  185. package/lib/components/Icon/streamline-icons/galaxy.icon.js +7 -0
  186. package/lib/components/Icon/streamline-icons/galaxy.icon.js.map +1 -0
  187. package/lib/components/Icon/streamline-icons/grid-solid.icon.d.ts +5 -0
  188. package/lib/components/Icon/streamline-icons/grid-solid.icon.d.ts.map +1 -0
  189. package/lib/components/Icon/streamline-icons/grid-solid.icon.js +7 -0
  190. package/lib/components/Icon/streamline-icons/grid-solid.icon.js.map +1 -0
  191. package/lib/components/Icon/streamline-icons/grid.icon.d.ts +5 -0
  192. package/lib/components/Icon/streamline-icons/grid.icon.d.ts.map +1 -0
  193. package/lib/components/Icon/streamline-icons/grid.icon.js +7 -0
  194. package/lib/components/Icon/streamline-icons/grid.icon.js.map +1 -0
  195. package/lib/components/Icon/streamline-icons/language-pack.icon.d.ts +5 -0
  196. package/lib/components/Icon/streamline-icons/language-pack.icon.d.ts.map +1 -0
  197. package/lib/components/Icon/streamline-icons/language-pack.icon.js +7 -0
  198. package/lib/components/Icon/streamline-icons/language-pack.icon.js.map +1 -0
  199. package/lib/components/Icon/streamline-icons/layout.icon.d.ts +5 -0
  200. package/lib/components/Icon/streamline-icons/layout.icon.d.ts.map +1 -0
  201. package/lib/components/Icon/streamline-icons/layout.icon.js +7 -0
  202. package/lib/components/Icon/streamline-icons/layout.icon.js.map +1 -0
  203. package/lib/components/Icon/streamline-icons/lock-closed.icon.d.ts +5 -0
  204. package/lib/components/Icon/streamline-icons/lock-closed.icon.d.ts.map +1 -0
  205. package/lib/components/Icon/streamline-icons/lock-closed.icon.js +7 -0
  206. package/lib/components/Icon/streamline-icons/lock-closed.icon.js.map +1 -0
  207. package/lib/components/Icon/streamline-icons/mail-solid.icon.d.ts +5 -0
  208. package/lib/components/Icon/streamline-icons/mail-solid.icon.d.ts.map +1 -0
  209. package/lib/components/Icon/streamline-icons/mail-solid.icon.js +7 -0
  210. package/lib/components/Icon/streamline-icons/mail-solid.icon.js.map +1 -0
  211. package/lib/components/Icon/streamline-icons/mail.icon.d.ts.map +1 -1
  212. package/lib/components/Icon/streamline-icons/mail.icon.js +1 -1
  213. package/lib/components/Icon/streamline-icons/mail.icon.js.map +1 -1
  214. package/lib/components/Icon/streamline-icons/mobius.icon.d.ts +5 -0
  215. package/lib/components/Icon/streamline-icons/mobius.icon.d.ts.map +1 -0
  216. package/lib/components/Icon/streamline-icons/mobius.icon.js +7 -0
  217. package/lib/components/Icon/streamline-icons/mobius.icon.js.map +1 -0
  218. package/lib/components/Icon/streamline-icons/phone-in-solid.icon.d.ts +5 -0
  219. package/lib/components/Icon/streamline-icons/phone-in-solid.icon.d.ts.map +1 -0
  220. package/lib/components/Icon/streamline-icons/phone-in-solid.icon.js +7 -0
  221. package/lib/components/Icon/streamline-icons/phone-in-solid.icon.js.map +1 -0
  222. package/lib/components/Icon/streamline-icons/picture-solid.icon.d.ts +5 -0
  223. package/lib/components/Icon/streamline-icons/picture-solid.icon.d.ts.map +1 -0
  224. package/lib/components/Icon/streamline-icons/picture-solid.icon.js +7 -0
  225. package/lib/components/Icon/streamline-icons/picture-solid.icon.js.map +1 -0
  226. package/lib/components/Icon/streamline-icons/plug-connect.icon.d.ts +5 -0
  227. package/lib/components/Icon/streamline-icons/plug-connect.icon.d.ts.map +1 -0
  228. package/lib/components/Icon/streamline-icons/plug-connect.icon.js +7 -0
  229. package/lib/components/Icon/streamline-icons/plug-connect.icon.js.map +1 -0
  230. package/lib/components/Icon/streamline-icons/return.icon.d.ts +5 -0
  231. package/lib/components/Icon/streamline-icons/return.icon.d.ts.map +1 -0
  232. package/lib/components/Icon/streamline-icons/return.icon.js +7 -0
  233. package/lib/components/Icon/streamline-icons/return.icon.js.map +1 -0
  234. package/lib/components/Icon/streamline-icons/robot-solid.icon.d.ts +5 -0
  235. package/lib/components/Icon/streamline-icons/robot-solid.icon.d.ts.map +1 -0
  236. package/lib/components/Icon/streamline-icons/robot-solid.icon.js +7 -0
  237. package/lib/components/Icon/streamline-icons/robot-solid.icon.js.map +1 -0
  238. package/lib/components/Icon/streamline-icons/shapes.icon.d.ts +5 -0
  239. package/lib/components/Icon/streamline-icons/shapes.icon.d.ts.map +1 -0
  240. package/lib/components/Icon/streamline-icons/shapes.icon.js +7 -0
  241. package/lib/components/Icon/streamline-icons/shapes.icon.js.map +1 -0
  242. package/lib/components/Icon/streamline-icons/share-case.icon.d.ts +5 -0
  243. package/lib/components/Icon/streamline-icons/share-case.icon.d.ts.map +1 -0
  244. package/lib/components/Icon/streamline-icons/share-case.icon.js +7 -0
  245. package/lib/components/Icon/streamline-icons/share-case.icon.js.map +1 -0
  246. package/lib/components/Icon/streamline-icons/share-document.icon.d.ts +5 -0
  247. package/lib/components/Icon/streamline-icons/share-document.icon.d.ts.map +1 -0
  248. package/lib/components/Icon/streamline-icons/share-document.icon.js +7 -0
  249. package/lib/components/Icon/streamline-icons/share-document.icon.js.map +1 -0
  250. package/lib/components/Icon/streamline-icons/shield-lock.icon.d.ts +5 -0
  251. package/lib/components/Icon/streamline-icons/shield-lock.icon.d.ts.map +1 -0
  252. package/lib/components/Icon/streamline-icons/shield-lock.icon.js +7 -0
  253. package/lib/components/Icon/streamline-icons/shield-lock.icon.js.map +1 -0
  254. package/lib/components/Icon/streamline-icons/slideshow-solid.icon.d.ts +5 -0
  255. package/lib/components/Icon/streamline-icons/slideshow-solid.icon.d.ts.map +1 -0
  256. package/lib/components/Icon/streamline-icons/slideshow-solid.icon.js +7 -0
  257. package/lib/components/Icon/streamline-icons/slideshow-solid.icon.js.map +1 -0
  258. package/lib/components/Icon/streamline-icons/speaker-on-sold.icon.d.ts +5 -0
  259. package/lib/components/Icon/streamline-icons/speaker-on-sold.icon.d.ts.map +1 -0
  260. package/lib/components/Icon/streamline-icons/speaker-on-sold.icon.js +7 -0
  261. package/lib/components/Icon/streamline-icons/speaker-on-sold.icon.js.map +1 -0
  262. package/lib/components/Icon/streamline-icons/speaker-on.icon.d.ts +5 -0
  263. package/lib/components/Icon/streamline-icons/speaker-on.icon.d.ts.map +1 -0
  264. package/lib/components/Icon/streamline-icons/speaker-on.icon.js +7 -0
  265. package/lib/components/Icon/streamline-icons/speaker-on.icon.js.map +1 -0
  266. package/lib/components/Icon/streamline-icons/table-disc.icon.d.ts +5 -0
  267. package/lib/components/Icon/streamline-icons/table-disc.icon.d.ts.map +1 -0
  268. package/lib/components/Icon/streamline-icons/table-disc.icon.js +7 -0
  269. package/lib/components/Icon/streamline-icons/table-disc.icon.js.map +1 -0
  270. package/lib/components/Icon/streamline-icons/translate.icon.d.ts +5 -0
  271. package/lib/components/Icon/streamline-icons/translate.icon.d.ts.map +1 -0
  272. package/lib/components/Icon/streamline-icons/translate.icon.js +7 -0
  273. package/lib/components/Icon/streamline-icons/translate.icon.js.map +1 -0
  274. package/lib/components/Icon/streamline-icons/user-check-solid.icon.d.ts +5 -0
  275. package/lib/components/Icon/streamline-icons/user-check-solid.icon.d.ts.map +1 -0
  276. package/lib/components/Icon/streamline-icons/user-check-solid.icon.js +7 -0
  277. package/lib/components/Icon/streamline-icons/user-check-solid.icon.js.map +1 -0
  278. package/lib/components/Icon/streamline-icons/user-close-solid.icon.d.ts +5 -0
  279. package/lib/components/Icon/streamline-icons/user-close-solid.icon.d.ts.map +1 -0
  280. package/lib/components/Icon/streamline-icons/user-close-solid.icon.js +7 -0
  281. package/lib/components/Icon/streamline-icons/user-close-solid.icon.js.map +1 -0
  282. package/lib/components/Icon/streamline-icons/user-close.icon.d.ts +5 -0
  283. package/lib/components/Icon/streamline-icons/user-close.icon.d.ts.map +1 -0
  284. package/lib/components/Icon/streamline-icons/user-close.icon.js +7 -0
  285. package/lib/components/Icon/streamline-icons/user-close.icon.js.map +1 -0
  286. package/lib/components/Icon/streamline-icons/user-female-solid.icon.d.ts +5 -0
  287. package/lib/components/Icon/streamline-icons/user-female-solid.icon.d.ts.map +1 -0
  288. package/lib/components/Icon/streamline-icons/user-female-solid.icon.js +7 -0
  289. package/lib/components/Icon/streamline-icons/user-female-solid.icon.js.map +1 -0
  290. package/lib/components/Icon/streamline-icons/user-female.icon.d.ts +5 -0
  291. package/lib/components/Icon/streamline-icons/user-female.icon.d.ts.map +1 -0
  292. package/lib/components/Icon/streamline-icons/user-female.icon.js +7 -0
  293. package/lib/components/Icon/streamline-icons/user-female.icon.js.map +1 -0
  294. package/lib/components/Icon/streamline-icons/user-list-solid.icon.d.ts +5 -0
  295. package/lib/components/Icon/streamline-icons/user-list-solid.icon.d.ts.map +1 -0
  296. package/lib/components/Icon/streamline-icons/user-list-solid.icon.js +7 -0
  297. package/lib/components/Icon/streamline-icons/user-list-solid.icon.js.map +1 -0
  298. package/lib/components/Icon/streamline-icons/user-list.icon.d.ts +5 -0
  299. package/lib/components/Icon/streamline-icons/user-list.icon.d.ts.map +1 -0
  300. package/lib/components/Icon/streamline-icons/user-list.icon.js +7 -0
  301. package/lib/components/Icon/streamline-icons/user-list.icon.js.map +1 -0
  302. package/lib/components/Icon/streamline-icons/user-plus-solid.icon.d.ts +5 -0
  303. package/lib/components/Icon/streamline-icons/user-plus-solid.icon.d.ts.map +1 -0
  304. package/lib/components/Icon/streamline-icons/user-plus-solid.icon.js +7 -0
  305. package/lib/components/Icon/streamline-icons/user-plus-solid.icon.js.map +1 -0
  306. package/lib/components/Icon/streamline-icons/user-plus.icon.d.ts +5 -0
  307. package/lib/components/Icon/streamline-icons/user-plus.icon.d.ts.map +1 -0
  308. package/lib/components/Icon/streamline-icons/user-plus.icon.js +7 -0
  309. package/lib/components/Icon/streamline-icons/user-plus.icon.js.map +1 -0
  310. package/lib/components/Icon/streamline-icons/user-question-mark-solid.icon.d.ts +5 -0
  311. package/lib/components/Icon/streamline-icons/user-question-mark-solid.icon.d.ts.map +1 -0
  312. package/lib/components/Icon/streamline-icons/user-question-mark-solid.icon.js +7 -0
  313. package/lib/components/Icon/streamline-icons/user-question-mark-solid.icon.js.map +1 -0
  314. package/lib/components/Icon/streamline-icons/user-question-mark.icon.d.ts +5 -0
  315. package/lib/components/Icon/streamline-icons/user-question-mark.icon.d.ts.map +1 -0
  316. package/lib/components/Icon/streamline-icons/user-question-mark.icon.js +7 -0
  317. package/lib/components/Icon/streamline-icons/user-question-mark.icon.js.map +1 -0
  318. package/lib/components/Icon/streamline-icons/user-search-solid.icon.d.ts +5 -0
  319. package/lib/components/Icon/streamline-icons/user-search-solid.icon.d.ts.map +1 -0
  320. package/lib/components/Icon/streamline-icons/user-search-solid.icon.js +7 -0
  321. package/lib/components/Icon/streamline-icons/user-search-solid.icon.js.map +1 -0
  322. package/lib/components/Icon/streamline-icons/user-search.icon.d.ts +5 -0
  323. package/lib/components/Icon/streamline-icons/user-search.icon.d.ts.map +1 -0
  324. package/lib/components/Icon/streamline-icons/user-search.icon.js +7 -0
  325. package/lib/components/Icon/streamline-icons/user-search.icon.js.map +1 -0
  326. package/lib/components/Icon/streamline-icons/user-star-solid.icon.d.ts +5 -0
  327. package/lib/components/Icon/streamline-icons/user-star-solid.icon.d.ts.map +1 -0
  328. package/lib/components/Icon/streamline-icons/user-star-solid.icon.js +7 -0
  329. package/lib/components/Icon/streamline-icons/user-star-solid.icon.js.map +1 -0
  330. package/lib/components/Icon/streamline-icons/user-star.icon.js +2 -2
  331. package/lib/components/Icon/streamline-icons/user-star.icon.js.map +1 -1
  332. package/lib/components/Icon/streamline-icons/users-solid.icon.d.ts +5 -0
  333. package/lib/components/Icon/streamline-icons/users-solid.icon.d.ts.map +1 -0
  334. package/lib/components/Icon/streamline-icons/users-solid.icon.js +7 -0
  335. package/lib/components/Icon/streamline-icons/users-solid.icon.js.map +1 -0
  336. package/lib/components/Icon/streamline-icons/users.icon.d.ts +5 -0
  337. package/lib/components/Icon/streamline-icons/users.icon.d.ts.map +1 -0
  338. package/lib/components/Icon/streamline-icons/users.icon.js +7 -0
  339. package/lib/components/Icon/streamline-icons/users.icon.js.map +1 -0
  340. package/lib/components/Icon/streamline-icons/versions.icon.d.ts +5 -0
  341. package/lib/components/Icon/streamline-icons/versions.icon.d.ts.map +1 -0
  342. package/lib/components/Icon/streamline-icons/versions.icon.js +7 -0
  343. package/lib/components/Icon/streamline-icons/versions.icon.js.map +1 -0
  344. package/lib/components/Icon/streamline-icons/video-off.icon.d.ts +5 -0
  345. package/lib/components/Icon/streamline-icons/video-off.icon.d.ts.map +1 -0
  346. package/lib/components/Icon/streamline-icons/video-off.icon.js +7 -0
  347. package/lib/components/Icon/streamline-icons/video-off.icon.js.map +1 -0
  348. package/lib/components/Icon/streamline-icons/video-solid.icon.d.ts +5 -0
  349. package/lib/components/Icon/streamline-icons/video-solid.icon.d.ts.map +1 -0
  350. package/lib/components/Icon/streamline-icons/video-solid.icon.js +7 -0
  351. package/lib/components/Icon/streamline-icons/video-solid.icon.js.map +1 -0
  352. package/lib/components/Icon/streamline-icons/video.icon.d.ts +5 -0
  353. package/lib/components/Icon/streamline-icons/video.icon.d.ts.map +1 -0
  354. package/lib/components/Icon/streamline-icons/video.icon.js +7 -0
  355. package/lib/components/Icon/streamline-icons/video.icon.js.map +1 -0
  356. package/lib/components/Icon/streamline-icons/voicemail.icon.d.ts +5 -0
  357. package/lib/components/Icon/streamline-icons/voicemail.icon.d.ts.map +1 -0
  358. package/lib/components/Icon/streamline-icons/voicemail.icon.js +7 -0
  359. package/lib/components/Icon/streamline-icons/voicemail.icon.js.map +1 -0
  360. package/lib/components/Icon/streamline-icons/vr-solid.icon.d.ts +5 -0
  361. package/lib/components/Icon/streamline-icons/vr-solid.icon.d.ts.map +1 -0
  362. package/lib/components/Icon/streamline-icons/vr-solid.icon.js +7 -0
  363. package/lib/components/Icon/streamline-icons/vr-solid.icon.js.map +1 -0
  364. package/lib/components/Icon/streamline-icons/vr.icon.d.ts +5 -0
  365. package/lib/components/Icon/streamline-icons/vr.icon.d.ts.map +1 -0
  366. package/lib/components/Icon/streamline-icons/vr.icon.js +7 -0
  367. package/lib/components/Icon/streamline-icons/vr.icon.js.map +1 -0
  368. package/lib/components/Icon/streamline-icons/walkie-solid.icon.d.ts +5 -0
  369. package/lib/components/Icon/streamline-icons/walkie-solid.icon.d.ts.map +1 -0
  370. package/lib/components/Icon/streamline-icons/walkie-solid.icon.js +7 -0
  371. package/lib/components/Icon/streamline-icons/walkie-solid.icon.js.map +1 -0
  372. package/lib/components/Icon/streamline-icons/walkie.icon.d.ts +5 -0
  373. package/lib/components/Icon/streamline-icons/walkie.icon.d.ts.map +1 -0
  374. package/lib/components/Icon/streamline-icons/walkie.icon.js +7 -0
  375. package/lib/components/Icon/streamline-icons/walkie.icon.js.map +1 -0
  376. package/lib/components/Icon/streamline-icons/wallet-solid.icon.d.ts +5 -0
  377. package/lib/components/Icon/streamline-icons/wallet-solid.icon.d.ts.map +1 -0
  378. package/lib/components/Icon/streamline-icons/wallet-solid.icon.js +7 -0
  379. package/lib/components/Icon/streamline-icons/wallet-solid.icon.js.map +1 -0
  380. package/lib/components/Icon/streamline-icons/wallet.icon.d.ts +5 -0
  381. package/lib/components/Icon/streamline-icons/wallet.icon.d.ts.map +1 -0
  382. package/lib/components/Icon/streamline-icons/wallet.icon.js +7 -0
  383. package/lib/components/Icon/streamline-icons/wallet.icon.js.map +1 -0
  384. package/lib/components/Icon/streamline-icons/watch-solid.icon.d.ts +5 -0
  385. package/lib/components/Icon/streamline-icons/watch-solid.icon.d.ts.map +1 -0
  386. package/lib/components/Icon/streamline-icons/watch-solid.icon.js +7 -0
  387. package/lib/components/Icon/streamline-icons/watch-solid.icon.js.map +1 -0
  388. package/lib/components/Icon/streamline-icons/watch.icon.d.ts +5 -0
  389. package/lib/components/Icon/streamline-icons/watch.icon.d.ts.map +1 -0
  390. package/lib/components/Icon/streamline-icons/watch.icon.js +7 -0
  391. package/lib/components/Icon/streamline-icons/watch.icon.js.map +1 -0
  392. package/lib/components/Icon/streamline-icons/waypoint-solid.icon.d.ts +5 -0
  393. package/lib/components/Icon/streamline-icons/waypoint-solid.icon.d.ts.map +1 -0
  394. package/lib/components/Icon/streamline-icons/waypoint-solid.icon.js +7 -0
  395. package/lib/components/Icon/streamline-icons/waypoint-solid.icon.js.map +1 -0
  396. package/lib/components/Icon/streamline-icons/waypoint.icon.d.ts +5 -0
  397. package/lib/components/Icon/streamline-icons/waypoint.icon.d.ts.map +1 -0
  398. package/lib/components/Icon/streamline-icons/waypoint.icon.js +7 -0
  399. package/lib/components/Icon/streamline-icons/waypoint.icon.js.map +1 -0
  400. package/lib/components/Icon/streamline-icons/webcam-solid.icon.d.ts +5 -0
  401. package/lib/components/Icon/streamline-icons/webcam-solid.icon.d.ts.map +1 -0
  402. package/lib/components/Icon/streamline-icons/webcam-solid.icon.js +7 -0
  403. package/lib/components/Icon/streamline-icons/webcam-solid.icon.js.map +1 -0
  404. package/lib/components/Icon/streamline-icons/webcam.icon.d.ts +5 -0
  405. package/lib/components/Icon/streamline-icons/webcam.icon.d.ts.map +1 -0
  406. package/lib/components/Icon/streamline-icons/webcam.icon.js +7 -0
  407. package/lib/components/Icon/streamline-icons/webcam.icon.js.map +1 -0
  408. package/lib/components/Icon/streamline-icons/whatsapp.icon.d.ts +5 -0
  409. package/lib/components/Icon/streamline-icons/whatsapp.icon.d.ts.map +1 -0
  410. package/lib/components/Icon/streamline-icons/whatsapp.icon.js +7 -0
  411. package/lib/components/Icon/streamline-icons/whatsapp.icon.js.map +1 -0
  412. package/lib/components/Icon/streamline-icons/wifi-none.icon.d.ts +5 -0
  413. package/lib/components/Icon/streamline-icons/wifi-none.icon.d.ts.map +1 -0
  414. package/lib/components/Icon/streamline-icons/wifi-none.icon.js +7 -0
  415. package/lib/components/Icon/streamline-icons/wifi-none.icon.js.map +1 -0
  416. package/lib/components/Icon/streamline-icons/wifi-off.icon.d.ts +5 -0
  417. package/lib/components/Icon/streamline-icons/wifi-off.icon.d.ts.map +1 -0
  418. package/lib/components/Icon/streamline-icons/wifi-off.icon.js +7 -0
  419. package/lib/components/Icon/streamline-icons/wifi-off.icon.js.map +1 -0
  420. package/lib/components/Icon/streamline-icons/wizard-solid.icon.d.ts +5 -0
  421. package/lib/components/Icon/streamline-icons/wizard-solid.icon.d.ts.map +1 -0
  422. package/lib/components/Icon/streamline-icons/wizard-solid.icon.js +7 -0
  423. package/lib/components/Icon/streamline-icons/wizard-solid.icon.js.map +1 -0
  424. package/lib/components/Icon/streamline-icons/wizard.icon.d.ts +5 -0
  425. package/lib/components/Icon/streamline-icons/wizard.icon.d.ts.map +1 -0
  426. package/lib/components/Icon/streamline-icons/wizard.icon.js +7 -0
  427. package/lib/components/Icon/streamline-icons/wizard.icon.js.map +1 -0
  428. package/lib/components/Icon/streamline-icons/wrench-solid.icon.d.ts +5 -0
  429. package/lib/components/Icon/streamline-icons/wrench-solid.icon.d.ts.map +1 -0
  430. package/lib/components/Icon/streamline-icons/wrench-solid.icon.js +7 -0
  431. package/lib/components/Icon/streamline-icons/wrench-solid.icon.js.map +1 -0
  432. package/lib/components/Icon/streamline-icons/wrench.icon.d.ts +5 -0
  433. package/lib/components/Icon/streamline-icons/wrench.icon.d.ts.map +1 -0
  434. package/lib/components/Icon/streamline-icons/wrench.icon.js +7 -0
  435. package/lib/components/Icon/streamline-icons/wrench.icon.js.map +1 -0
  436. package/lib/components/Icon/streamlineIconNames.d.ts +1 -1
  437. package/lib/components/Icon/streamlineIconNames.d.ts.map +1 -1
  438. package/lib/components/Icon/streamlineIconNames.js +82 -0
  439. package/lib/components/Icon/streamlineIconNames.js.map +1 -1
  440. package/lib/components/IconPicker/IconPicker.d.ts +4 -4
  441. package/lib/components/IconPicker/IconPicker.d.ts.map +1 -1
  442. package/lib/components/IconPicker/IconPicker.js +19 -25
  443. package/lib/components/IconPicker/IconPicker.js.map +1 -1
  444. package/lib/components/Input/Input.js +1 -1
  445. package/lib/components/Input/Input.js.map +1 -1
  446. package/lib/components/Input/Input.styles.d.ts.map +1 -1
  447. package/lib/components/Input/Input.styles.js +2 -17
  448. package/lib/components/Input/Input.styles.js.map +1 -1
  449. package/lib/components/Lightbox/Lightbox.d.ts +1 -1
  450. package/lib/components/Lightbox/Lightbox.d.ts.map +1 -1
  451. package/lib/components/Lightbox/Lightbox.js +9 -3
  452. package/lib/components/Lightbox/Lightbox.js.map +1 -1
  453. package/lib/components/Lightbox/Lightbox.test-ids.d.ts +1 -1
  454. package/lib/components/Lightbox/Lightbox.test-ids.d.ts.map +1 -1
  455. package/lib/components/Lightbox/Lightbox.test-ids.js +1 -0
  456. package/lib/components/Lightbox/Lightbox.test-ids.js.map +1 -1
  457. package/lib/components/ListToolbar/ListToolbar.d.ts.map +1 -1
  458. package/lib/components/ListToolbar/ListToolbar.js +100 -39
  459. package/lib/components/ListToolbar/ListToolbar.js.map +1 -1
  460. package/lib/components/ListToolbar/ListToolbar.styles.d.ts.map +1 -1
  461. package/lib/components/ListToolbar/ListToolbar.styles.js +11 -16
  462. package/lib/components/ListToolbar/ListToolbar.styles.js.map +1 -1
  463. package/lib/components/ListToolbar/ListToolbar.types.d.ts +7 -3
  464. package/lib/components/ListToolbar/ListToolbar.types.d.ts.map +1 -1
  465. package/lib/components/ListToolbar/ListToolbar.types.js.map +1 -1
  466. package/lib/components/Location/CurrentLocationButton.d.ts.map +1 -1
  467. package/lib/components/Location/CurrentLocationButton.js +4 -2
  468. package/lib/components/Location/CurrentLocationButton.js.map +1 -1
  469. package/lib/components/Location/GoogleMapsAPI.d.ts +43 -0
  470. package/lib/components/Location/GoogleMapsAPI.d.ts.map +1 -0
  471. package/lib/components/Location/GoogleMapsAPI.js +244 -0
  472. package/lib/components/Location/GoogleMapsAPI.js.map +1 -0
  473. package/lib/components/Location/Location.types.d.ts +3 -2
  474. package/lib/components/Location/Location.types.d.ts.map +1 -1
  475. package/lib/components/Location/Location.types.js.map +1 -1
  476. package/lib/components/Location/LocationAPI.types.d.ts +23 -0
  477. package/lib/components/Location/LocationAPI.types.d.ts.map +1 -0
  478. package/lib/components/Location/LocationAPI.types.js +2 -0
  479. package/lib/components/Location/LocationAPI.types.js.map +1 -0
  480. package/lib/components/Location/LocationDisplay.d.ts.map +1 -1
  481. package/lib/components/Location/LocationDisplay.js +5 -3
  482. package/lib/components/Location/LocationDisplay.js.map +1 -1
  483. package/lib/components/Location/LocationInput.d.ts.map +1 -1
  484. package/lib/components/Location/LocationInput.js +25 -22
  485. package/lib/components/Location/LocationInput.js.map +1 -1
  486. package/lib/components/Location/LocationView.d.ts.map +1 -1
  487. package/lib/components/Location/LocationView.js +8 -5
  488. package/lib/components/Location/LocationView.js.map +1 -1
  489. package/lib/components/Location/index.d.ts +2 -1
  490. package/lib/components/Location/index.d.ts.map +1 -1
  491. package/lib/components/Location/index.js +2 -1
  492. package/lib/components/Location/index.js.map +1 -1
  493. package/lib/components/Location/utils.d.ts +3 -19
  494. package/lib/components/Location/utils.d.ts.map +1 -1
  495. package/lib/components/Location/utils.js +7 -161
  496. package/lib/components/Location/utils.js.map +1 -1
  497. package/lib/components/Modal/Modal.styles.js +5 -5
  498. package/lib/components/Modal/Modal.styles.js.map +1 -1
  499. package/lib/components/MultiStepForm/MultiStepForm.d.ts.map +1 -1
  500. package/lib/components/MultiStepForm/MultiStepForm.js +1 -6
  501. package/lib/components/MultiStepForm/MultiStepForm.js.map +1 -1
  502. package/lib/components/Number/NumberInput.d.ts.map +1 -1
  503. package/lib/components/Number/NumberInput.js +3 -1
  504. package/lib/components/Number/NumberInput.js.map +1 -1
  505. package/lib/components/Number/NumberRangeInput.d.ts.map +1 -1
  506. package/lib/components/Number/NumberRangeInput.js +3 -1
  507. package/lib/components/Number/NumberRangeInput.js.map +1 -1
  508. package/lib/components/PageTemplates/GridLayout/EditorBackground.js +1 -1
  509. package/lib/components/PageTemplates/GridLayout/EditorBackground.js.map +1 -1
  510. package/lib/components/PageTemplates/GridLayout/GridLayoutEditor.js +1 -1
  511. package/lib/components/PageTemplates/GridLayout/GridLayoutEditor.js.map +1 -1
  512. package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.d.ts +5 -0
  513. package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.d.ts.map +1 -1
  514. package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.js +2 -2
  515. package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.js.map +1 -1
  516. package/lib/components/PageTemplates/GridLayout/config.d.ts +1 -1
  517. package/lib/components/PageTemplates/GridLayout/config.d.ts.map +1 -1
  518. package/lib/components/PageTemplates/GridLayout/config.js +3 -3
  519. package/lib/components/PageTemplates/GridLayout/config.js.map +1 -1
  520. package/lib/components/PageTemplates/PageTemplates.d.ts +6 -1
  521. package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
  522. package/lib/components/PageTemplates/PageTemplates.js +17 -8
  523. package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
  524. package/lib/components/Phone/PhoneInput.d.ts.map +1 -1
  525. package/lib/components/Phone/PhoneInput.js +2 -2
  526. package/lib/components/Phone/PhoneInput.js.map +1 -1
  527. package/lib/components/Popover/Popover.styles.d.ts.map +1 -1
  528. package/lib/components/Popover/Popover.styles.js +18 -8
  529. package/lib/components/Popover/Popover.styles.js.map +1 -1
  530. package/lib/components/Popover/modifiers.d.ts.map +1 -1
  531. package/lib/components/Popover/modifiers.js +10 -0
  532. package/lib/components/Popover/modifiers.js.map +1 -1
  533. package/lib/components/RadioCheck/RadioCheck.d.ts.map +1 -1
  534. package/lib/components/RadioCheck/RadioCheck.js +5 -8
  535. package/lib/components/RadioCheck/RadioCheck.js.map +1 -1
  536. package/lib/components/Switch/Switch.d.ts.map +1 -1
  537. package/lib/components/Switch/Switch.js +5 -13
  538. package/lib/components/Switch/Switch.js.map +1 -1
  539. package/lib/components/Tabs/TabPanel.d.ts.map +1 -1
  540. package/lib/components/Tabs/TabPanel.js +1 -0
  541. package/lib/components/Tabs/TabPanel.js.map +1 -1
  542. package/lib/components/Toaster/Toaster.d.ts.map +1 -1
  543. package/lib/components/Toaster/Toaster.js +9 -5
  544. package/lib/components/Toaster/Toaster.js.map +1 -1
  545. package/lib/components/Toaster/Toaster.types.d.ts +3 -3
  546. package/lib/components/Toaster/Toaster.types.d.ts.map +1 -1
  547. package/lib/components/Toaster/Toaster.types.js.map +1 -1
  548. package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
  549. package/lib/components/Tooltip/Tooltip.js +3 -1
  550. package/lib/components/Tooltip/Tooltip.js.map +1 -1
  551. package/lib/hooks/index.d.ts +1 -0
  552. package/lib/hooks/index.d.ts.map +1 -1
  553. package/lib/hooks/index.js +1 -0
  554. package/lib/hooks/index.js.map +1 -1
  555. package/lib/hooks/useAbortController.d.ts +7 -0
  556. package/lib/hooks/useAbortController.d.ts.map +1 -0
  557. package/lib/hooks/useAbortController.js +21 -0
  558. package/lib/hooks/useAbortController.js.map +1 -0
  559. package/lib/hooks/useBreakpoint.d.ts.map +1 -1
  560. package/lib/hooks/useBreakpoint.js +5 -2
  561. package/lib/hooks/useBreakpoint.js.map +1 -1
  562. package/lib/hooks/useI18n.d.ts +156 -0
  563. package/lib/hooks/useI18n.d.ts.map +1 -1
  564. package/lib/hooks/useItemIntersection.d.ts +1 -1
  565. package/lib/hooks/useItemIntersection.js +2 -2
  566. package/lib/hooks/useItemIntersection.js.map +1 -1
  567. package/lib/hooks/useThemeMode.d.ts +10 -0
  568. package/lib/hooks/useThemeMode.d.ts.map +1 -0
  569. package/lib/hooks/useThemeMode.js +11 -0
  570. package/lib/hooks/useThemeMode.js.map +1 -0
  571. package/lib/i18n/default.d.ts +160 -0
  572. package/lib/i18n/default.d.ts.map +1 -1
  573. package/lib/i18n/default.js +173 -2
  574. package/lib/i18n/default.js.map +1 -1
  575. package/lib/i18n/i18n.d.ts +156 -0
  576. package/lib/i18n/i18n.d.ts.map +1 -1
  577. package/lib/styles/GlobalStyle.d.ts +2 -2
  578. package/lib/styles/GlobalStyle.d.ts.map +1 -1
  579. package/lib/styles/GlobalStyle.js +5 -3
  580. package/lib/styles/GlobalStyle.js.map +1 -1
  581. package/lib/styles/animations.d.ts +9 -0
  582. package/lib/styles/animations.d.ts.map +1 -0
  583. package/lib/styles/animations.js +78 -0
  584. package/lib/styles/animations.js.map +1 -0
  585. package/lib/styles/gradients.d.ts +2 -0
  586. package/lib/styles/gradients.d.ts.map +1 -1
  587. package/lib/styles/gradients.js +4 -1
  588. package/lib/styles/gradients.js.map +1 -1
  589. package/lib/styles/index.d.ts +1 -0
  590. package/lib/styles/index.d.ts.map +1 -1
  591. package/lib/styles/index.js +1 -0
  592. package/lib/styles/index.js.map +1 -1
  593. package/lib/styles/utils.d.ts +1 -1
  594. package/lib/styles/utils.d.ts.map +1 -1
  595. package/lib/styles/utils.js +1 -1
  596. package/lib/styles/utils.js.map +1 -1
  597. package/lib/theme/index.d.ts +2 -0
  598. package/lib/theme/index.d.ts.map +1 -1
  599. package/lib/theme/index.js +2 -0
  600. package/lib/theme/index.js.map +1 -1
  601. package/lib/theme/theme.d.ts +150 -0
  602. package/lib/theme/theme.d.ts.map +1 -1
  603. package/lib/theme/themeDefinition.json +82 -0
  604. package/lib/theme/themeOverrides.schema.json +102 -0
  605. package/lib/theme/themes/studioDarkTheme.json +240 -0
  606. package/lib/theme/themes/studioTheme.json +240 -0
  607. package/lib/utils/debounce.d.ts +4 -1
  608. package/lib/utils/debounce.d.ts.map +1 -1
  609. package/lib/utils/debounce.js +18 -2
  610. package/lib/utils/debounce.js.map +1 -1
  611. package/lib/utils/getFocusables.d.ts +4 -2
  612. package/lib/utils/getFocusables.d.ts.map +1 -1
  613. package/lib/utils/getFocusables.js +9 -7
  614. package/lib/utils/getFocusables.js.map +1 -1
  615. package/package.json +2 -2
@@ -4,7 +4,7 @@ import { createPortal } from 'react-dom';
4
4
  import { cap, getActiveElement, getFocusables, withTestIds } from '../../utils';
5
5
  import Flex from '../Flex';
6
6
  import MetaList from '../MetaList';
7
- import Icon from '../Icon';
7
+ import Icon, { registerIcon } from '../Icon';
8
8
  import Image from '../Image';
9
9
  import Text from '../Text';
10
10
  import { useConfiguration, useConsolidatedRef, useDirection, useEvent, useFocusTrap, useI18n, useScrollToggle, useTestIds } from '../../hooks';
@@ -15,8 +15,14 @@ import Button from '../Button';
15
15
  import Link from '../Link/Link';
16
16
  import mimeTypes from '../File/mimeTypes.json';
17
17
  import { getKindFromMimeType } from '../File/utils';
18
+ import * as openIcon from '../Icon/icons/open.icon';
19
+ import * as timesIcon from '../Icon/icons/times.icon';
20
+ import * as downloadIcon from '../Icon/icons/download.icon';
21
+ import * as caretLeftIcon from '../Icon/icons/caret-left.icon';
22
+ import * as caretRightIcon from '../Icon/icons/caret-right.icon';
18
23
  import { StyledHeader, StyledCountTracker, StyledInfo, StyledPreviewRegion, StyledNavButton, StyledMediaContainer, StyledLiveRegion, StyledLightbox, StyledContainer, StyledObject } from './Lightbox.styles';
19
24
  import { getLightboxTestIds } from './Lightbox.test-ids';
25
+ registerIcon(openIcon, timesIcon, downloadIcon, caretLeftIcon, caretRightIcon);
20
26
  const Lightbox = forwardRef(function Lightbox({ testId, items, defaultIndex = 0, cycle = false, onItemLoad, onItemError, onNavigate, onItemDownload, onAfterClose, ...restProps }, refArg) {
21
27
  const t = useI18n();
22
28
  const { start, end } = useDirection();
@@ -34,6 +40,7 @@ const Lightbox = forwardRef(function Lightbox({ testId, items, defaultIndex = 0,
34
40
  const [liveText, setLiveText] = useState('');
35
41
  const countTrackerText = items.length > 1 ? t('x_of_y', [currentIndex + 1, items.length]) : '';
36
42
  const testIds = useTestIds(testId, getLightboxTestIds);
43
+ const previewableAttachmentTypes = ['pdf', 'image', 'link', 'video', 'audio'];
37
44
  const initiatorRef = useRef(null);
38
45
  const close = () => {
39
46
  setOpen(false);
@@ -113,7 +120,6 @@ const Lightbox = forwardRef(function Lightbox({ testId, items, defaultIndex = 0,
113
120
  const extractMimeType = mimeTypes[currentItem.format.toLowerCase()];
114
121
  const getType = currentItem.format === 'url' ? 'link' : 'generic';
115
122
  attachmentType = extractMimeType ? getKindFromMimeType(extractMimeType) : getType;
116
- const previewableAttachmentTypes = ['pdf', 'image', 'link', 'video', 'audio'];
117
123
  validContent = previewableAttachmentTypes.includes(attachmentType)
118
124
  ? !!currentItem.src
119
125
  : !!attachmentType;
@@ -166,7 +172,7 @@ const Lightbox = forwardRef(function Lightbox({ testId, items, defaultIndex = 0,
166
172
  justify: 'center',
167
173
  colGap: 2,
168
174
  rowGap: 0.5
169
- }, children: [_jsx(Text, { "data-testid": testIds.name, variant: 'primary', as: 'h2', children: currentItem.name }), currentItem.metadata && (_jsx(MetaList, { "data-testid": testIds.metadata, items: currentItem.metadata }))] }), _jsxs(Flex, { container: true, as: StyledContainer, children: [attachmentType !== 'link' && onItemDownload && (_jsx(Button, { "data-testid": testIds.download, variant: 'simple', "aria-label": t('download'), icon: true, onClick: () => onItemDownload(currentItem.id), children: _jsx(Icon, { name: 'download' }) })), _jsx(Button, { "data-testid": testIds.close, variant: 'simple', ref: closeButtonRef, "aria-label": t('close'), icon: true, onClick: close, children: _jsx(Icon, { name: 'times' }) })] })] }), _jsxs(Flex, { container: { justify: 'between' }, as: StyledPreviewRegion, item: { grow: 1, shrink: 0 }, children: [items.length > 1 && (_jsx(StyledNavButton, { "data-testid": testIds.prev, ref: prevButtonRef, variant: 'simple', "aria-label": t('pagination_prev'), hidden: !cycle && currentIndex === 0, icon: true, onClick: () => {
175
+ }, children: [_jsx(Text, { "data-testid": testIds.name, variant: 'primary', as: 'h2', children: currentItem.name }), currentItem.metadata && (_jsx(MetaList, { "data-testid": testIds.metadata, items: currentItem.metadata }))] }), _jsxs(Flex, { container: true, as: StyledContainer, children: [attachmentType !== 'link' && onItemDownload && (_jsx(Button, { "data-testid": testIds.download, variant: 'simple', label: t('download'), icon: true, onClick: () => onItemDownload(currentItem.id), children: _jsx(Icon, { name: 'download' }) })), previewableAttachmentTypes.includes(attachmentType) && currentItem.src && (_jsx(Button, { "data-testid": testIds.openInNewTab, variant: 'simple', label: t('link_open_in_tab_text'), icon: true, href: currentItem.src, target: '_blank', children: _jsx(Icon, { name: 'open' }) })), _jsx(Button, { "data-testid": testIds.close, variant: 'simple', ref: closeButtonRef, label: t('close'), icon: true, onClick: close, children: _jsx(Icon, { name: 'times' }) })] })] }), _jsxs(Flex, { container: { justify: 'between' }, as: StyledPreviewRegion, item: { grow: 1, shrink: 0 }, children: [items.length > 1 && (_jsx(StyledNavButton, { "data-testid": testIds.prev, ref: prevButtonRef, variant: 'simple', "aria-label": t('pagination_prev'), hidden: !cycle && currentIndex === 0, icon: true, onClick: () => {
170
176
  navigate(-1);
171
177
  }, children: _jsx("span", { children: _jsx(Icon, { name: 'caret-left' }) }) })), _jsx(Flex, { item: { grow: 1 }, as: StyledMediaContainer, children: _jsx(Flex, { container: { alignItems: 'center', justify: 'center' }, onMouseDown: (e) => {
172
178
  if (e.button !== 0)
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.js","sourceRoot":"","sources":["../../../src/components/Lightbox/Lightbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, useState, forwardRef, useCallback } from 'react';\nimport type { PropsWithoutRef, MouseEvent, SyntheticEvent, RefObject } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport type { ForwardRefForwardPropsComponent } from '../../types';\nimport { cap, getActiveElement, getFocusables, withTestIds } from '../../utils';\nimport Flex from '../Flex';\nimport MetaList from '../MetaList';\nimport Icon from '../Icon';\nimport Image from '../Image';\nimport Text from '../Text';\nimport {\n useConfiguration,\n useConsolidatedRef,\n useDirection,\n useEvent,\n useFocusTrap,\n useI18n,\n useScrollToggle,\n useTestIds\n} from '../../hooks';\nimport ErrorState from '../ErrorState';\nimport Progress from '../Progress';\nimport FileVisual from '../File/FileVisual';\nimport Button from '../Button';\nimport Link from '../Link/Link';\nimport mimeTypes from '../File/mimeTypes.json';\nimport { getKindFromMimeType } from '../File/utils';\nimport type { AttachmentType } from '../File/utils';\n\nimport {\n StyledHeader,\n StyledCountTracker,\n StyledInfo,\n StyledPreviewRegion,\n StyledNavButton,\n StyledMediaContainer,\n StyledLiveRegion,\n StyledLightbox,\n StyledContainer,\n StyledObject\n} from './Lightbox.styles';\nimport type { LightboxProps, MediaElement } from './Lightbox.types';\nimport { getLightboxTestIds } from './Lightbox.test-ids';\n\nconst Lightbox: ForwardRefForwardPropsComponent<LightboxProps> = forwardRef(function Lightbox(\n {\n testId,\n items,\n defaultIndex = 0,\n cycle = false,\n onItemLoad,\n onItemError,\n onNavigate,\n onItemDownload,\n onAfterClose,\n ...restProps\n }: PropsWithoutRef<LightboxProps>,\n refArg: LightboxProps['ref']\n) {\n const t = useI18n();\n const { start, end } = useDirection();\n const { portalTarget } = useConfiguration();\n const [currentIndex, setCurrentIndex] = useState(defaultIndex);\n const currentItem = items[currentIndex];\n const { disableScroll, enableScroll } = useScrollToggle();\n const lightboxRef = useConsolidatedRef(refArg);\n const headerRef = useRef<HTMLDivElement>(null);\n const closeButtonRef = useRef<HTMLButtonElement>(null);\n const prevButtonRef = useRef<HTMLButtonElement>(null);\n const nextButtonRef = useRef<HTMLButtonElement>(null);\n const [open, setOpen] = useState(true);\n const mediaRef = useConsolidatedRef(currentItem.ref);\n const [liveText, setLiveText] = useState('');\n const countTrackerText = items.length > 1 ? t('x_of_y', [currentIndex + 1, items.length]) : '';\n const testIds = useTestIds(testId, getLightboxTestIds);\n\n const initiatorRef = useRef<Element | null>(null);\n\n const close = () => {\n setOpen(false);\n\n if (\n initiatorRef.current?.isConnected &&\n (initiatorRef.current instanceof HTMLElement || initiatorRef.current instanceof SVGElement)\n )\n initiatorRef.current.focus();\n };\n\n const navigate = (direction: 1 | -1) => {\n if (direction === 1) {\n if (currentIndex < items.length - 1) {\n setCurrentIndex(cur => cur + 1);\n } else if (cycle) {\n setCurrentIndex(0);\n }\n } else if (currentIndex > 0) {\n setCurrentIndex(cur => cur - 1);\n } else if (cycle) {\n setCurrentIndex(items.length - 1);\n }\n };\n const keyDownHandler = (e: KeyboardEvent) => {\n if (e.repeat) return;\n\n if (e.key === 'Escape') {\n close();\n } else if (e.key === `Arrow${cap(end)}`) {\n navigate(1);\n } else if (e.key === `Arrow${cap(start)}`) {\n navigate(-1);\n }\n };\n\n useEvent('keydown', keyDownHandler);\n useFocusTrap(lightboxRef);\n\n useEffect(() => {\n setLiveText(`${currentItem.name}. ${countTrackerText ? `${countTrackerText}.` : ''}`);\n }, [currentItem.name, countTrackerText]);\n\n useEffect(() => {\n onNavigate?.(currentItem.id, currentIndex);\n }, [currentIndex]);\n\n useEffect(() => {\n const activeElement = getActiveElement();\n initiatorRef.current = activeElement;\n if (getFocusables(lightboxRef).length > 0) getFocusables(lightboxRef)[0].focus();\n }, []);\n\n const handleLoad = useCallback(\n (e: SyntheticEvent<MediaElement> | Event) => {\n onItemLoad?.(currentItem.id, e);\n },\n [onItemLoad, currentItem.id]\n );\n\n const handleError = useCallback(\n (e: SyntheticEvent<MediaElement> | Event) => {\n onItemError?.(currentItem.id, e);\n },\n [onItemError, currentItem.id]\n );\n\n // Object elements appear to need native event handlers bound as JSX does not work.\n // TODO: Follow up on reason why.\n useEffect(() => {\n if (!mediaRef.current || currentItem.format !== 'pdf') return;\n const pdfObject = mediaRef.current;\n pdfObject.addEventListener('load', handleLoad);\n pdfObject.addEventListener('error', handleError);\n\n return () => {\n pdfObject.removeEventListener('load', handleLoad);\n pdfObject.removeEventListener('error', handleError);\n };\n }, [currentItem]);\n\n let media;\n let validContent = true;\n let attachmentType: AttachmentType = 'generic';\n if (currentItem.format === undefined) {\n validContent = !currentItem.error;\n } else {\n const extractMimeType = (mimeTypes as Record<string, string>)[currentItem.format.toLowerCase()];\n const getType = currentItem.format === 'url' ? 'link' : 'generic';\n attachmentType = extractMimeType ? getKindFromMimeType(extractMimeType) : getType;\n const previewableAttachmentTypes = ['pdf', 'image', 'link', 'video', 'audio'];\n validContent = previewableAttachmentTypes.includes(attachmentType)\n ? !!currentItem.src\n : !!attachmentType;\n }\n\n if (validContent) {\n const nonPreviewableContent = (\n <>\n <Text>\n {t('non_previewable', [\n currentItem.format ? currentItem.format.toUpperCase() : currentItem.name\n ])}\n </Text>\n {onItemDownload && (\n <Button\n aria-label={t('download')}\n onClick={() => onItemDownload(currentItem.id)}\n data-testid={testIds.nonPreviewableDownload}\n >\n {t('download')}\n </Button>\n )}\n </>\n );\n\n const defaultContent = (\n <Flex\n container={{ direction: 'column', gap: 2, alignItems: 'center' }}\n as={StyledInfo}\n data-testid={testIds.content}\n >\n <FileVisual type={attachmentType} size='l' />\n {attachmentType === 'link' && currentItem.src ? (\n <Link href={currentItem.src} data-testid={testIds.link}>\n {currentItem.name}\n </Link>\n ) : (\n nonPreviewableContent\n )}\n </Flex>\n );\n\n switch (attachmentType) {\n case 'image':\n media = currentItem.src && (\n <Image\n data-testid={testIds.content}\n src={currentItem.src}\n alt={currentItem.description ?? t('description_unavailable')}\n onLoad={handleLoad}\n onError={handleError}\n ref={mediaRef as RefObject<HTMLImageElement>}\n />\n );\n break;\n case 'pdf':\n media = currentItem.src && (\n <>\n {navigator.pdfViewerEnabled ? (\n <StyledObject\n data-testid={testIds.content}\n data={currentItem.src}\n type='application/pdf'\n ref={mediaRef as RefObject<HTMLObjectElement>}\n >\n {currentItem.description ?? t('description_unavailable')}\n </StyledObject>\n ) : (\n defaultContent\n )}\n </>\n );\n break;\n case 'video':\n media = currentItem.src && (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n <video\n data-testid={testIds.content}\n src={currentItem.src}\n controls\n onLoadedData={handleLoad}\n onError={handleError}\n ref={mediaRef as RefObject<HTMLVideoElement>}\n />\n );\n break;\n case 'audio':\n media = currentItem.src && (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n <audio\n data-testid={testIds.content}\n src={currentItem.src}\n controls\n onLoadedData={handleLoad}\n onError={handleError}\n ref={mediaRef as RefObject<HTMLAudioElement>}\n />\n );\n break;\n default: {\n media = defaultContent;\n }\n }\n } else {\n media = <Progress placement='block' delay />;\n }\n\n const content = (\n <StyledLightbox\n data-testid={testIds.root}\n {...restProps}\n tabIndex={-1}\n ref={lightboxRef}\n open={open}\n role='dialog'\n aria-modal\n container={{ alignItems: 'start', justify: 'start', direction: 'column' }}\n alpha={0.9}\n variant='dark'\n transitionSpeed='slow'\n onBeforeTransitionIn={disableScroll}\n onAfterTransitionOut={() => {\n enableScroll();\n onAfterClose?.();\n }}\n >\n <Flex\n as={StyledHeader}\n ref={headerRef}\n role='none'\n container={{\n justify: 'between',\n alignItems: 'center',\n gap: 2\n }}\n onMouseDown={(e: MouseEvent<HTMLDivElement>) => {\n if (e.button !== 0) return;\n if (e.target === e.currentTarget) close();\n }}\n >\n <StyledCountTracker data-testid={testIds.pagination} aria-hidden>\n {countTrackerText}\n </StyledCountTracker>\n\n <Flex\n as={StyledInfo}\n container={{\n wrap: 'wrap',\n alignItems: 'center',\n justify: 'center',\n colGap: 2,\n rowGap: 0.5\n }}\n >\n <Text data-testid={testIds.name} variant='primary' as='h2'>\n {currentItem.name}\n </Text>\n {currentItem.metadata && (\n <MetaList data-testid={testIds.metadata} items={currentItem.metadata} />\n )}\n </Flex>\n\n <Flex container as={StyledContainer}>\n {attachmentType !== 'link' && onItemDownload && (\n <Button\n data-testid={testIds.download}\n variant='simple'\n aria-label={t('download')}\n icon\n onClick={() => onItemDownload(currentItem.id)}\n >\n <Icon name='download' />\n </Button>\n )}\n <Button\n data-testid={testIds.close}\n variant='simple'\n ref={closeButtonRef}\n aria-label={t('close')}\n icon\n onClick={close}\n >\n <Icon name='times' />\n </Button>\n </Flex>\n </Flex>\n\n <Flex\n container={{ justify: 'between' }}\n as={StyledPreviewRegion}\n item={{ grow: 1, shrink: 0 }}\n >\n {items.length > 1 && (\n <StyledNavButton\n data-testid={testIds.prev}\n ref={prevButtonRef}\n variant='simple'\n aria-label={t('pagination_prev')}\n hidden={!cycle && currentIndex === 0}\n icon\n onClick={() => {\n navigate(-1);\n }}\n >\n <span>\n <Icon name='caret-left' />\n </span>\n </StyledNavButton>\n )}\n\n <Flex item={{ grow: 1 }} as={StyledMediaContainer}>\n <Flex\n container={{ alignItems: 'center', justify: 'center' }}\n onMouseDown={(e: MouseEvent<HTMLDivElement>) => {\n if (e.button !== 0) return;\n if (e.target === e.currentTarget) close();\n }}\n >\n {currentItem.error ? <ErrorState message={t('content_load_error')} /> : media}\n </Flex>\n </Flex>\n\n {items.length > 1 && (\n <StyledNavButton\n data-testid={testIds.next}\n ref={nextButtonRef}\n variant='simple'\n aria-label={t('pagination_next')}\n hidden={!cycle && currentIndex === items.length - 1}\n icon\n onClick={() => {\n navigate(1);\n }}\n >\n <span>\n <Icon name='caret-right' />\n </span>\n </StyledNavButton>\n )}\n </Flex>\n <StyledLiveRegion aria-live='polite' aria-label={liveText} />\n </StyledLightbox>\n );\n\n return portalTarget ? createPortal(content, portalTarget) : content;\n});\n\nexport default withTestIds(Lightbox, getLightboxTestIds);\n"]}
1
+ {"version":3,"file":"Lightbox.js","sourceRoot":"","sources":["../../../src/components/Lightbox/Lightbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, useState, forwardRef, useCallback } from 'react';\nimport type { PropsWithoutRef, MouseEvent, SyntheticEvent, RefObject } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport type { ForwardRefForwardPropsComponent } from '../../types';\nimport { cap, getActiveElement, getFocusables, withTestIds } from '../../utils';\nimport Flex from '../Flex';\nimport MetaList from '../MetaList';\nimport Icon, { registerIcon } from '../Icon';\nimport Image from '../Image';\nimport Text from '../Text';\nimport {\n useConfiguration,\n useConsolidatedRef,\n useDirection,\n useEvent,\n useFocusTrap,\n useI18n,\n useScrollToggle,\n useTestIds\n} from '../../hooks';\nimport ErrorState from '../ErrorState';\nimport Progress from '../Progress';\nimport FileVisual from '../File/FileVisual';\nimport Button from '../Button';\nimport Link from '../Link/Link';\nimport mimeTypes from '../File/mimeTypes.json';\nimport { getKindFromMimeType } from '../File/utils';\nimport type { AttachmentType } from '../File/utils';\nimport * as openIcon from '../Icon/icons/open.icon';\nimport * as timesIcon from '../Icon/icons/times.icon';\nimport * as downloadIcon from '../Icon/icons/download.icon';\nimport * as caretLeftIcon from '../Icon/icons/caret-left.icon';\nimport * as caretRightIcon from '../Icon/icons/caret-right.icon';\n\nimport {\n StyledHeader,\n StyledCountTracker,\n StyledInfo,\n StyledPreviewRegion,\n StyledNavButton,\n StyledMediaContainer,\n StyledLiveRegion,\n StyledLightbox,\n StyledContainer,\n StyledObject\n} from './Lightbox.styles';\nimport type { LightboxProps, MediaElement } from './Lightbox.types';\nimport { getLightboxTestIds } from './Lightbox.test-ids';\n\nregisterIcon(openIcon, timesIcon, downloadIcon, caretLeftIcon, caretRightIcon);\n\nconst Lightbox: ForwardRefForwardPropsComponent<LightboxProps> = forwardRef(function Lightbox(\n {\n testId,\n items,\n defaultIndex = 0,\n cycle = false,\n onItemLoad,\n onItemError,\n onNavigate,\n onItemDownload,\n onAfterClose,\n ...restProps\n }: PropsWithoutRef<LightboxProps>,\n refArg: LightboxProps['ref']\n) {\n const t = useI18n();\n const { start, end } = useDirection();\n const { portalTarget } = useConfiguration();\n const [currentIndex, setCurrentIndex] = useState(defaultIndex);\n const currentItem = items[currentIndex];\n const { disableScroll, enableScroll } = useScrollToggle();\n const lightboxRef = useConsolidatedRef(refArg);\n const headerRef = useRef<HTMLDivElement>(null);\n const closeButtonRef = useRef<HTMLButtonElement>(null);\n const prevButtonRef = useRef<HTMLButtonElement>(null);\n const nextButtonRef = useRef<HTMLButtonElement>(null);\n const [open, setOpen] = useState(true);\n const mediaRef = useConsolidatedRef(currentItem.ref);\n const [liveText, setLiveText] = useState('');\n const countTrackerText = items.length > 1 ? t('x_of_y', [currentIndex + 1, items.length]) : '';\n const testIds = useTestIds(testId, getLightboxTestIds);\n const previewableAttachmentTypes = ['pdf', 'image', 'link', 'video', 'audio'];\n\n const initiatorRef = useRef<Element | null>(null);\n\n const close = () => {\n setOpen(false);\n\n if (\n initiatorRef.current?.isConnected &&\n (initiatorRef.current instanceof HTMLElement || initiatorRef.current instanceof SVGElement)\n )\n initiatorRef.current.focus();\n };\n\n const navigate = (direction: 1 | -1) => {\n if (direction === 1) {\n if (currentIndex < items.length - 1) {\n setCurrentIndex(cur => cur + 1);\n } else if (cycle) {\n setCurrentIndex(0);\n }\n } else if (currentIndex > 0) {\n setCurrentIndex(cur => cur - 1);\n } else if (cycle) {\n setCurrentIndex(items.length - 1);\n }\n };\n const keyDownHandler = (e: KeyboardEvent) => {\n if (e.repeat) return;\n\n if (e.key === 'Escape') {\n close();\n } else if (e.key === `Arrow${cap(end)}`) {\n navigate(1);\n } else if (e.key === `Arrow${cap(start)}`) {\n navigate(-1);\n }\n };\n\n useEvent('keydown', keyDownHandler);\n useFocusTrap(lightboxRef);\n\n useEffect(() => {\n setLiveText(`${currentItem.name}. ${countTrackerText ? `${countTrackerText}.` : ''}`);\n }, [currentItem.name, countTrackerText]);\n\n useEffect(() => {\n onNavigate?.(currentItem.id, currentIndex);\n }, [currentIndex]);\n\n useEffect(() => {\n const activeElement = getActiveElement();\n initiatorRef.current = activeElement;\n if (getFocusables(lightboxRef).length > 0) getFocusables(lightboxRef)[0].focus();\n }, []);\n\n const handleLoad = useCallback(\n (e: SyntheticEvent<MediaElement> | Event) => {\n onItemLoad?.(currentItem.id, e);\n },\n [onItemLoad, currentItem.id]\n );\n\n const handleError = useCallback(\n (e: SyntheticEvent<MediaElement> | Event) => {\n onItemError?.(currentItem.id, e);\n },\n [onItemError, currentItem.id]\n );\n\n // Object elements appear to need native event handlers bound as JSX does not work.\n // TODO: Follow up on reason why.\n useEffect(() => {\n if (!mediaRef.current || currentItem.format !== 'pdf') return;\n const pdfObject = mediaRef.current;\n pdfObject.addEventListener('load', handleLoad);\n pdfObject.addEventListener('error', handleError);\n\n return () => {\n pdfObject.removeEventListener('load', handleLoad);\n pdfObject.removeEventListener('error', handleError);\n };\n }, [currentItem]);\n\n let media;\n let validContent = true;\n let attachmentType: AttachmentType = 'generic';\n if (currentItem.format === undefined) {\n validContent = !currentItem.error;\n } else {\n const extractMimeType = (mimeTypes as Record<string, string>)[currentItem.format.toLowerCase()];\n const getType = currentItem.format === 'url' ? 'link' : 'generic';\n attachmentType = extractMimeType ? getKindFromMimeType(extractMimeType) : getType;\n validContent = previewableAttachmentTypes.includes(attachmentType)\n ? !!currentItem.src\n : !!attachmentType;\n }\n\n if (validContent) {\n const nonPreviewableContent = (\n <>\n <Text>\n {t('non_previewable', [\n currentItem.format ? currentItem.format.toUpperCase() : currentItem.name\n ])}\n </Text>\n {onItemDownload && (\n <Button\n aria-label={t('download')}\n onClick={() => onItemDownload(currentItem.id)}\n data-testid={testIds.nonPreviewableDownload}\n >\n {t('download')}\n </Button>\n )}\n </>\n );\n\n const defaultContent = (\n <Flex\n container={{ direction: 'column', gap: 2, alignItems: 'center' }}\n as={StyledInfo}\n data-testid={testIds.content}\n >\n <FileVisual type={attachmentType} size='l' />\n {attachmentType === 'link' && currentItem.src ? (\n <Link href={currentItem.src} data-testid={testIds.link}>\n {currentItem.name}\n </Link>\n ) : (\n nonPreviewableContent\n )}\n </Flex>\n );\n\n switch (attachmentType) {\n case 'image':\n media = currentItem.src && (\n <Image\n data-testid={testIds.content}\n src={currentItem.src}\n alt={currentItem.description ?? t('description_unavailable')}\n onLoad={handleLoad}\n onError={handleError}\n ref={mediaRef as RefObject<HTMLImageElement>}\n />\n );\n break;\n case 'pdf':\n media = currentItem.src && (\n <>\n {navigator.pdfViewerEnabled ? (\n <StyledObject\n data-testid={testIds.content}\n data={currentItem.src}\n type='application/pdf'\n ref={mediaRef as RefObject<HTMLObjectElement>}\n >\n {currentItem.description ?? t('description_unavailable')}\n </StyledObject>\n ) : (\n defaultContent\n )}\n </>\n );\n break;\n case 'video':\n media = currentItem.src && (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n <video\n data-testid={testIds.content}\n src={currentItem.src}\n controls\n onLoadedData={handleLoad}\n onError={handleError}\n ref={mediaRef as RefObject<HTMLVideoElement>}\n />\n );\n break;\n case 'audio':\n media = currentItem.src && (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n <audio\n data-testid={testIds.content}\n src={currentItem.src}\n controls\n onLoadedData={handleLoad}\n onError={handleError}\n ref={mediaRef as RefObject<HTMLAudioElement>}\n />\n );\n break;\n default: {\n media = defaultContent;\n }\n }\n } else {\n media = <Progress placement='block' delay />;\n }\n\n const content = (\n <StyledLightbox\n data-testid={testIds.root}\n {...restProps}\n tabIndex={-1}\n ref={lightboxRef}\n open={open}\n role='dialog'\n aria-modal\n container={{ alignItems: 'start', justify: 'start', direction: 'column' }}\n alpha={0.9}\n variant='dark'\n transitionSpeed='slow'\n onBeforeTransitionIn={disableScroll}\n onAfterTransitionOut={() => {\n enableScroll();\n onAfterClose?.();\n }}\n >\n <Flex\n as={StyledHeader}\n ref={headerRef}\n role='none'\n container={{\n justify: 'between',\n alignItems: 'center',\n gap: 2\n }}\n onMouseDown={(e: MouseEvent<HTMLDivElement>) => {\n if (e.button !== 0) return;\n if (e.target === e.currentTarget) close();\n }}\n >\n <StyledCountTracker data-testid={testIds.pagination} aria-hidden>\n {countTrackerText}\n </StyledCountTracker>\n\n <Flex\n as={StyledInfo}\n container={{\n wrap: 'wrap',\n alignItems: 'center',\n justify: 'center',\n colGap: 2,\n rowGap: 0.5\n }}\n >\n <Text data-testid={testIds.name} variant='primary' as='h2'>\n {currentItem.name}\n </Text>\n {currentItem.metadata && (\n <MetaList data-testid={testIds.metadata} items={currentItem.metadata} />\n )}\n </Flex>\n\n <Flex container as={StyledContainer}>\n {attachmentType !== 'link' && onItemDownload && (\n <Button\n data-testid={testIds.download}\n variant='simple'\n label={t('download')}\n icon\n onClick={() => onItemDownload(currentItem.id)}\n >\n <Icon name='download' />\n </Button>\n )}\n {previewableAttachmentTypes.includes(attachmentType) && currentItem.src && (\n <Button\n data-testid={testIds.openInNewTab}\n variant='simple'\n label={t('link_open_in_tab_text')}\n icon\n href={currentItem.src}\n target='_blank'\n >\n <Icon name='open' />\n </Button>\n )}\n <Button\n data-testid={testIds.close}\n variant='simple'\n ref={closeButtonRef}\n label={t('close')}\n icon\n onClick={close}\n >\n <Icon name='times' />\n </Button>\n </Flex>\n </Flex>\n\n <Flex\n container={{ justify: 'between' }}\n as={StyledPreviewRegion}\n item={{ grow: 1, shrink: 0 }}\n >\n {items.length > 1 && (\n <StyledNavButton\n data-testid={testIds.prev}\n ref={prevButtonRef}\n variant='simple'\n aria-label={t('pagination_prev')}\n hidden={!cycle && currentIndex === 0}\n icon\n onClick={() => {\n navigate(-1);\n }}\n >\n <span>\n <Icon name='caret-left' />\n </span>\n </StyledNavButton>\n )}\n\n <Flex item={{ grow: 1 }} as={StyledMediaContainer}>\n <Flex\n container={{ alignItems: 'center', justify: 'center' }}\n onMouseDown={(e: MouseEvent<HTMLDivElement>) => {\n if (e.button !== 0) return;\n if (e.target === e.currentTarget) close();\n }}\n >\n {currentItem.error ? <ErrorState message={t('content_load_error')} /> : media}\n </Flex>\n </Flex>\n\n {items.length > 1 && (\n <StyledNavButton\n data-testid={testIds.next}\n ref={nextButtonRef}\n variant='simple'\n aria-label={t('pagination_next')}\n hidden={!cycle && currentIndex === items.length - 1}\n icon\n onClick={() => {\n navigate(1);\n }}\n >\n <span>\n <Icon name='caret-right' />\n </span>\n </StyledNavButton>\n )}\n </Flex>\n <StyledLiveRegion aria-live='polite' aria-label={liveText} />\n </StyledLightbox>\n );\n\n return portalTarget ? createPortal(content, portalTarget) : content;\n});\n\nexport default withTestIds(Lightbox, getLightboxTestIds);\n"]}
@@ -1,2 +1,2 @@
1
- export declare const getLightboxTestIds: (testIdProp?: import("../..").TestIdProp["testId"]) => import("../..").TestIdsRecord<readonly ["content", "name", "metadata", "download", "close", "prev", "next", "pagination", "non-previewable-download", "link"]>;
1
+ export declare const getLightboxTestIds: (testIdProp?: import("../..").TestIdProp["testId"]) => import("../..").TestIdsRecord<readonly ["content", "name", "metadata", "download", "open-in-new-tab", "close", "prev", "next", "pagination", "non-previewable-download", "link"]>;
2
2
  //# sourceMappingURL=Lightbox.test-ids.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.test-ids.d.ts","sourceRoot":"","sources":["../../../src/components/Lightbox/Lightbox.test-ids.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,uNAWpB,CAAC"}
1
+ {"version":3,"file":"Lightbox.test-ids.d.ts","sourceRoot":"","sources":["../../../src/components/Lightbox/Lightbox.test-ids.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,0OAYpB,CAAC"}
@@ -4,6 +4,7 @@ export const getLightboxTestIds = createTestIds('lightbox', [
4
4
  'name',
5
5
  'metadata',
6
6
  'download',
7
+ 'open-in-new-tab',
7
8
  'close',
8
9
  'prev',
9
10
  'next',
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.test-ids.js","sourceRoot":"","sources":["../../../src/components/Lightbox/Lightbox.test-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC,UAAU,EAAE;IAC1D,SAAS;IACT,MAAM;IACN,UAAU;IACV,UAAU;IACV,OAAO;IACP,MAAM;IACN,MAAM;IACN,YAAY;IACZ,0BAA0B;IAC1B,MAAM;CACE,CAAC,CAAC","sourcesContent":["import { createTestIds } from '../../utils';\n\nexport const getLightboxTestIds = createTestIds('lightbox', [\n 'content',\n 'name',\n 'metadata',\n 'download',\n 'close',\n 'prev',\n 'next',\n 'pagination',\n 'non-previewable-download',\n 'link'\n] as const);\n"]}
1
+ {"version":3,"file":"Lightbox.test-ids.js","sourceRoot":"","sources":["../../../src/components/Lightbox/Lightbox.test-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC,UAAU,EAAE;IAC1D,SAAS;IACT,MAAM;IACN,UAAU;IACV,UAAU;IACV,iBAAiB;IACjB,OAAO;IACP,MAAM;IACN,MAAM;IACN,YAAY;IACZ,0BAA0B;IAC1B,MAAM;CACE,CAAC,CAAC","sourcesContent":["import { createTestIds } from '../../utils';\n\nexport const getLightboxTestIds = createTestIds('lightbox', [\n 'content',\n 'name',\n 'metadata',\n 'download',\n 'open-in-new-tab',\n 'close',\n 'prev',\n 'next',\n 'pagination',\n 'non-previewable-download',\n 'link'\n] as const);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ListToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAU,+BAA+B,EAAE,MAAM,aAAa,CAAC;AA6C3E,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,qBAAqB,CAAC;;;;AA4gB7B,wBAA+D"}
1
+ {"version":3,"file":"ListToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/ListToolbar/ListToolbar.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAU,+BAA+B,EAAE,MAAM,aAAa,CAAC;AA6C3E,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,qBAAqB,CAAC;;;;AA0lB7B,wBAA+D"}
@@ -38,10 +38,9 @@ const CountMeta = ({ count, ...restProps }) => {
38
38
  });
39
39
  return (_jsx(StyledCountMeta, { variant: 'secondary', ...restProps, children: count.selected
40
40
  ? t('selected_count', [formatNumber(count.selected, { locale, options: { useGrouping: true } })], { count: count.selected })
41
- : count.total !== undefined &&
42
- t('results_count', [count.totalHasMore ? `${totalFormattedValue}+` : totalFormattedValue], {
43
- count: count.total
44
- }) }));
41
+ : t('results_count', [count.totalHasMore ? `${totalFormattedValue}+` : totalFormattedValue], {
42
+ count: count.total
43
+ }) }));
45
44
  };
46
45
  const generateViewName = (view, texts, options) => {
47
46
  return `${view.text} ${view.id === options.defaultId ? `(${texts.default})` : ''} ${view.id === options.appDefaultId ? `(${texts.appDefault})` : ''}`;
@@ -140,6 +139,12 @@ const ListToolbar = forwardRef(function ListToolbar({ testId, name, headingTag =
140
139
  }, children: _jsx(queryOptionProps.renderer, { ...(queryOptionProps.rendererProps || {}) }) }));
141
140
  }
142
141
  }
142
+ let keyboardInstructionsDialog = null;
143
+ if (target) {
144
+ keyboardInstructionsDialog = (_jsx(StyledInfoDialog, { heading: t('keyboard_instructions'), target: target, onDismiss: () => {
145
+ setTarget(null);
146
+ }, children: keyboardInstructions }));
147
+ }
143
148
  const getQueryOptionAction = useCallback((id, icon, queryOptionProps) => {
144
149
  return {
145
150
  text: t(id),
@@ -184,6 +189,57 @@ const ListToolbar = forwardRef(function ListToolbar({ testId, name, headingTag =
184
189
  }
185
190
  return basicActions.length ? basicActions : undefined;
186
191
  }, [actions, filter, sort, group, getQueryOptionAction]);
192
+ const smallScreenActions = useMemo(() => {
193
+ let basicActions = [];
194
+ if (keyboardInstructions) {
195
+ const text = t('keyboard_instructions');
196
+ const keyboardInstructionsAction = {
197
+ text,
198
+ id: text,
199
+ icon: 'keyboard',
200
+ onClick: () => {
201
+ setTarget(consolidatedActionsButtonRef.current);
202
+ },
203
+ 'data-testid': testIds.keyboardInstructions
204
+ };
205
+ basicActions.push(keyboardInstructionsAction);
206
+ }
207
+ if (createNew && createNew.onClick) {
208
+ const text = createNew.label ?? t('create_new');
209
+ const createNewAction = {
210
+ text,
211
+ id: text,
212
+ icon: 'plus',
213
+ 'aria-label': text,
214
+ onClick: (_, e) => createNew.onClick(e),
215
+ 'data-testid': testIds.createNew
216
+ };
217
+ basicActions.push(createNewAction);
218
+ }
219
+ if (wrap) {
220
+ const text = wrap.enabled ? t('disable_word_wrap') : t('enable_word_wrap');
221
+ const wrapAction = {
222
+ text,
223
+ id: text,
224
+ icon: wrap.enabled ? 'unwrap' : 'wrap',
225
+ 'aria-label': text,
226
+ onClick: (_, e) => wrap.onClick(e),
227
+ 'data-testid': testIds.wrapButton
228
+ };
229
+ basicActions.push(wrapAction);
230
+ }
231
+ if (basicModeActions) {
232
+ basicActions = basicActions.concat(basicModeActions);
233
+ }
234
+ return basicActions.length ? basicActions : undefined;
235
+ }, [
236
+ keyboardInstructions,
237
+ createNew?.label,
238
+ createNew?.onClick,
239
+ wrap?.enabled,
240
+ wrap?.onClick,
241
+ basicModeActions
242
+ ]);
187
243
  let labelText = name;
188
244
  if (viewSelector) {
189
245
  const viewItems = helpers.getViews(viewSelector.views);
@@ -194,48 +250,53 @@ const ListToolbar = forwardRef(function ListToolbar({ testId, name, headingTag =
194
250
  }
195
251
  return (_jsxs(Flex, { "data-testid": testIds.root, container: true, ...restProps, as: StyledListToolbar, ref: ref, isSmallOrAbove: isSmallOrAbove, children: [_jsxs(StyledListToolbarContent, { container: { direction: 'column' }, ref: toolbarContentRef, item: { grow: 1 }, children: [_jsxs(Flex, { container: {
196
252
  alignItems: 'center',
197
- justify: 'between'
253
+ justify: 'between',
254
+ direction: 'row'
198
255
  }, children: [_jsxs(Flex, { container: {
199
- alignItems: 'center',
200
- gap: 1
201
- }, item: { grow: 1 }, children: [_jsx(StyledHeadingText, { "data-testid": testIds.heading, variant: headingTag, required: formControlProps?.required, "aria-describedby": formControlProps?.info ? `${uid}-info` : undefined, children: !viewSelector || viewSelector.views.length <= 1 ? (labelText) : (_jsxs(_Fragment, { children: [_jsx(MenuButton, { ref: setLabelEl, "data-testid": testIds.viewSelector, variant: 'text', text: labelText, as: StyledViewSelector, menu: {
202
- mode: 'single-select',
203
- items: viewSelector.views.map(view => {
204
- if (hasProp(view, 'items')) {
205
- return {
206
- id: view.text,
207
- label: view.text,
208
- items: view.items.map(groupedView => {
256
+ alignItems: isSmallOrAbove ? 'center' : undefined,
257
+ justify: 'between',
258
+ direction: isSmallOrAbove ? undefined : 'column'
259
+ }, item: { grow: 1 }, children: [_jsxs(Flex, { container: {
260
+ alignItems: 'center',
261
+ gap: 1
262
+ }, item: { grow: 1 }, children: [_jsx(StyledHeadingText, { "data-testid": testIds.heading, variant: headingTag, required: formControlProps?.required, "aria-describedby": formControlProps?.info ? `${uid}-info` : undefined, children: !viewSelector || viewSelector.views.length <= 1 ? (labelText) : (_jsxs(_Fragment, { children: [_jsx(MenuButton, { ref: setLabelEl, "data-testid": testIds.viewSelector, variant: 'text', text: labelText, as: StyledViewSelector, menu: {
263
+ mode: 'single-select',
264
+ items: viewSelector.views.map(view => {
265
+ if (hasProp(view, 'items')) {
209
266
  return {
210
- ...groupedView,
211
- primary: generateViewName(groupedView, { default: t('default'), appDefault: t('app_default') }, {
212
- defaultId: viewSelector.defaultId,
213
- appDefaultId: viewSelector.appDefaultId
214
- }),
215
- visual: groupedView.visual ? (_jsx(Avatar, { ...groupedView.visual })) : undefined
267
+ id: view.text,
268
+ label: view.text,
269
+ items: view.items.map(groupedView => {
270
+ return {
271
+ ...groupedView,
272
+ primary: generateViewName(groupedView, { default: t('default'), appDefault: t('app_default') }, {
273
+ defaultId: viewSelector.defaultId,
274
+ appDefaultId: viewSelector.appDefaultId
275
+ }),
276
+ visual: groupedView.visual ? (_jsx(Avatar, { ...groupedView.visual })) : undefined
277
+ };
278
+ })
216
279
  };
217
- })
218
- };
219
- }
220
- return {
221
- ...view,
222
- primary: generateViewName(view, { default: t('default'), appDefault: t('app_default') }, {
223
- defaultId: viewSelector.defaultId,
224
- appDefaultId: viewSelector.appDefaultId
280
+ }
281
+ return {
282
+ ...view,
283
+ primary: generateViewName(view, { default: t('default'), appDefault: t('app_default') }, {
284
+ defaultId: viewSelector.defaultId,
285
+ appDefaultId: viewSelector.appDefaultId
286
+ }),
287
+ visual: view.visual ? _jsx(Avatar, { ...view.visual }) : undefined
288
+ };
225
289
  }),
226
- visual: view.visual ? _jsx(Avatar, { ...view.visual }) : undefined
227
- };
228
- }),
229
- onItemClick: viewSelector.onViewSelect
230
- } }), labelEl && (_jsx(Tooltip, { target: labelEl, describeTarget: false, hideDelay: 'none', smart: true, children: labelText }))] })) }), formControlProps?.additionalInfo && (_jsx(AdditionalInfo, { heading: formControlProps.additionalInfo.heading, contextualLabel: labelText, children: formControlProps.additionalInfo.content })), isSmallOrAbove && count && _jsx(CountMeta, { "data-testid": testIds.count, count: count })] }), _jsxs(_Fragment, { children: [isSmallOrAbove && additionalActions, search && isSmallOrAbove && expandableSearch, isSmallOrAbove && keyboardInstructions && keyboardInstructionsButton, isSmallOrAbove && createNewButton, isSmallOrAbove && wrapButton, isSmallOrAbove && _jsx(FullscreenButton, {}), isSmallOrAbove && basicModeActions && (_jsx(Actions, { contextualLabel: labelText, items: basicModeActions.map(({ icon, ...restActionProps }) => ({
231
- ...restActionProps,
232
- visual: icon && _jsx(Icon, { name: icon })
233
- })), menuAt: 1, ref: consolidatedActionsButtonRef })), !isSmallOrAbove && count && _jsx(CountMeta, { "data-testid": testIds.count, count: count })] })] }), !isSmallOrAbove && (_jsxs(_Fragment, { children: [!!count?.selected && additionalActions, _jsxs(StyledSearchContainer, { container: { alignItems: 'start', justify: 'between' }, children: [_jsx(Flex, { as: StyledSearchForm, container: { alignItems: 'center', wrap: 'wrap', gap: 1 }, item: { grow: 1 }, children: search && searchInput }), keyboardInstructions && keyboardInstructionsButton, createNewButton, wrapButton, _jsx(FullscreenButton, {}), basicModeActions && (_jsx(Actions, { contextualLabel: labelText, items: basicModeActions.map(({ icon, ...restActionProps }) => ({
290
+ onItemClick: viewSelector.onViewSelect
291
+ } }), labelEl && (_jsx(Tooltip, { target: labelEl, describeTarget: false, hideDelay: 'none', smart: true, children: labelText }))] })) }), formControlProps?.additionalInfo && (_jsx(AdditionalInfo, { heading: formControlProps.additionalInfo.heading, contextualLabel: labelText, children: formControlProps.additionalInfo.content })), isSmallOrAbove && count && _jsx(CountMeta, { "data-testid": testIds.count, count: count })] }), _jsxs(_Fragment, { children: [isSmallOrAbove && additionalActions, search && isSmallOrAbove && expandableSearch, isSmallOrAbove && keyboardInstructions && keyboardInstructionsButton, isSmallOrAbove && createNewButton, isSmallOrAbove && wrapButton, isSmallOrAbove && _jsx(FullscreenButton, {}), isSmallOrAbove && basicModeActions && (_jsx(Actions, { contextualLabel: labelText, items: basicModeActions.map(({ icon, ...restActionProps }) => ({
292
+ ...restActionProps,
293
+ visual: icon && _jsx(Icon, { name: icon })
294
+ })), menuAt: 1, ref: consolidatedActionsButtonRef })), !isSmallOrAbove && count && (_jsx(CountMeta, { "data-testid": testIds.count, count: count }))] })] }), !isSmallOrAbove && (_jsxs(_Fragment, { children: [_jsx(FullscreenButton, {}), smallScreenActions && (_jsx(Actions, { contextualLabel: labelText, items: smallScreenActions.map(({ icon, ...restActionProps }) => ({
234
295
  ...restActionProps,
235
296
  visual: icon && _jsx(Icon, { name: icon })
236
- })), menuAt: 1, ref: consolidatedActionsButtonRef }))] })] })), formControlProps?.info && (_jsxs(StyledInfo, { role: formControlProps.status === 'error' || formControlProps.status === 'warning'
297
+ })), menuAt: 1, ref: consolidatedActionsButtonRef }))] }))] }), !isSmallOrAbove && (search || (count && !!count.selected)) && (_jsx(StyledSearchContainer, { container: { alignItems: 'start', justify: 'between' }, children: _jsxs(Flex, { as: StyledSearchForm, container: { alignItems: 'stretch', wrap: 'wrap', gap: 1, direction: 'column' }, item: { grow: 1 }, children: [search && searchInput, count && !!count.selected && additionalActions] }) })), formControlProps?.info && (_jsxs(StyledInfo, { role: formControlProps.status === 'error' || formControlProps.status === 'warning'
237
298
  ? 'alert'
238
- : undefined, id: `${uid}-info`, "data-testid": testIds.info, status: formControlProps.status, children: [formControlProps.status === 'error' && (_jsxs(_Fragment, { children: [_jsx(StyledErrorIcon, { name: 'warn-solid' }), _jsx(VisuallyHiddenText, { children: ` ${t('error')} ` })] })), formControlProps.info] }))] }), queryOptionPopover, _jsx(PresetMenuPopover, { buttonRef: consolidatedActionsButtonRef, heading: actionsQueryOptionPreset?.heading, menu: actionsQueryOptionPreset?.menu, isOpen: optionPresetMenuOpen, onClose: () => setOptionPresetMenuOpen(false) })] }));
299
+ : undefined, id: `${uid}-info`, "data-testid": testIds.info, status: formControlProps.status, children: [formControlProps.status === 'error' && (_jsxs(_Fragment, { children: [_jsx(StyledErrorIcon, { name: 'warn-solid' }), _jsx(VisuallyHiddenText, { children: ` ${t('error')} ` })] })), formControlProps.info] }))] }), queryOptionPopover, !isSmallOrAbove && keyboardInstructionsDialog, _jsx(PresetMenuPopover, { buttonRef: consolidatedActionsButtonRef, heading: actionsQueryOptionPreset?.heading, menu: actionsQueryOptionPreset?.menu, isOpen: optionPresetMenuOpen, onClose: () => setOptionPresetMenuOpen(false) })] }));
239
300
  });
240
301
  export default withTestIds(ListToolbar, getListToolbarTestIds);
241
302
  //# sourceMappingURL=ListToolbar.js.map
@@ -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,KAAK,CAAC,KAAK,KAAK,SAAS;gBACzB,CAAC,CACC,eAAe,EACf,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,mBAAmB,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,EACtE;oBACE,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,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,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,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;yBACnB,aAED,MAAC,IAAI,IACH,SAAS,EAAE;oCACT,UAAU,EAAE,QAAQ;oCACpB,GAAG,EAAE,CAAC;iCACP,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;wDACJ,IAAI,EAAE,eAAe;wDACrB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;4DACnC,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;gEAC3B,OAAO;oEACL,EAAE,EAAE,IAAI,CAAC,IAAI;oEACb,KAAK,EAAE,IAAI,CAAC,IAAI;oEAChB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;wEAClC,OAAO;4EACL,GAAG,WAAW;4EACd,OAAO,EAAE,gBAAgB,CACvB,WAAW,EACX,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,EACvD;gFACE,SAAS,EAAE,YAAY,CAAC,SAAS;gFACjC,YAAY,EAAE,YAAY,CAAC,YAAY;6EACxC,CACF;4EACD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAC3B,KAAC,MAAM,OAAK,WAAW,CAAC,MAAM,GAAI,CACnC,CAAC,CAAC,CAAC,SAAS;yEACd,CAAC;oEACJ,CAAC,CAAC;iEACH,CAAC;4DACJ,CAAC;4DAED,OAAO;gEACL,GAAG,IAAI;gEACP,OAAO,EAAE,gBAAgB,CACvB,IAAI,EACJ,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,EACvD;oEACE,SAAS,EAAE,YAAY,CAAC,SAAS;oEACjC,YAAY,EAAE,YAAY,CAAC,YAAY;iEACxC,CACF;gEACD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAC,MAAM,OAAK,IAAI,CAAC,MAAM,GAAI,CAAC,CAAC,CAAC,SAAS;6DAC9D,CAAC;wDACJ,CAAC,CAAC;wDACF,WAAW,EAAE,YAAY,CAAC,YAAY;qDACvC,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;4CAC7D,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,EACA,CAAC,cAAc,IAAI,KAAK,IAAI,KAAC,SAAS,mBAAc,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,IACnF,IACE,EACN,CAAC,cAAc,IAAI,CAClB,8BACG,CAAC,CAAC,KAAK,EAAE,QAAQ,IAAI,iBAAiB,EACvC,MAAC,qBAAqB,IAAC,SAAS,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAC3E,KAAC,IAAI,IACH,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EACzD,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,YAEhB,MAAM,IAAI,WAAW,GACjB,EACN,oBAAoB,IAAI,0BAA0B,EAClD,eAAe,EACf,UAAU,EACX,KAAC,gBAAgB,KAAG,EACnB,gBAAgB,IAAI,CACnB,KAAC,OAAO,IACN,eAAe,EAAE,SAAS,EAC1B,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;4CAC7D,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,IACqB,IACvB,CACJ,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,EAEnB,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 : count.total !== undefined &&\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 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 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 }}\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 && <CountMeta data-testid={testIds.count} count={count} />}\n </>\n </Flex>\n {!isSmallOrAbove && (\n <>\n {!!count?.selected && additionalActions}\n <StyledSearchContainer container={{ alignItems: 'start', justify: 'between' }}>\n <Flex\n as={StyledSearchForm}\n container={{ alignItems: 'center', wrap: 'wrap', gap: 1 }}\n item={{ grow: 1 }}\n >\n {search && searchInput}\n </Flex>\n {keyboardInstructions && keyboardInstructionsButton}\n {createNewButton}\n {wrapButton}\n <FullscreenButton />\n {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 </StyledSearchContainer>\n </>\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"]}
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 * 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 +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;SAiChE,CAAC;AAIH,eAAO,MAAM,eAAe,gLAa1B,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;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"}