@cloudscape-design/components-themeable 3.0.306 → 3.0.308

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 (401) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/app-layout/visual-refresh/background.scss +16 -32
  3. package/lib/internal/scss/app-layout/visual-refresh/breadcrumbs.scss +23 -0
  4. package/lib/internal/scss/app-layout/visual-refresh/drawers.scss +1 -1
  5. package/lib/internal/scss/app-layout/visual-refresh/header.scss +1 -48
  6. package/lib/internal/scss/app-layout/visual-refresh/layout.scss +189 -78
  7. package/lib/internal/scss/app-layout/visual-refresh/main.scss +1 -92
  8. package/lib/internal/scss/app-layout/visual-refresh/mobile-toolbar.scss +40 -0
  9. package/lib/internal/scss/app-layout/visual-refresh/navigation.scss +2 -2
  10. package/lib/internal/scss/app-layout/visual-refresh/notifications.scss +3 -38
  11. package/lib/internal/scss/app-layout/visual-refresh/split-panel.scss +1 -1
  12. package/lib/internal/scss/app-layout/visual-refresh/styles.scss +2 -1
  13. package/lib/internal/scss/app-layout/visual-refresh/tools.scss +3 -4
  14. package/lib/internal/scss/cards/styles.scss +2 -2
  15. package/lib/internal/scss/content-layout/styles.scss +0 -10
  16. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +37 -32
  17. package/lib/internal/scss/table/styles.scss +4 -0
  18. package/lib/internal/scss/wizard/styles.scss +2 -5
  19. package/lib/internal/template/alert/interfaces.d.ts +1 -0
  20. package/lib/internal/template/alert/interfaces.d.ts.map +1 -1
  21. package/lib/internal/template/alert/interfaces.js.map +1 -1
  22. package/lib/internal/template/annotation-context/annotation/styles.css.js +24 -24
  23. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +30 -30
  24. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +24 -24
  25. package/lib/internal/template/app-layout/interfaces.d.ts +1 -0
  26. package/lib/internal/template/app-layout/interfaces.d.ts.map +1 -1
  27. package/lib/internal/template/app-layout/interfaces.js.map +1 -1
  28. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  29. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  30. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  31. package/lib/internal/template/app-layout/visual-refresh/background.d.ts +1 -5
  32. package/lib/internal/template/app-layout/visual-refresh/background.d.ts.map +1 -1
  33. package/lib/internal/template/app-layout/visual-refresh/background.js +8 -13
  34. package/lib/internal/template/app-layout/visual-refresh/background.js.map +1 -1
  35. package/lib/internal/template/app-layout/visual-refresh/breadcrumbs.d.ts +3 -0
  36. package/lib/internal/template/app-layout/visual-refresh/breadcrumbs.d.ts.map +1 -0
  37. package/lib/internal/template/app-layout/visual-refresh/breadcrumbs.js +17 -0
  38. package/lib/internal/template/app-layout/visual-refresh/breadcrumbs.js.map +1 -0
  39. package/lib/internal/template/app-layout/visual-refresh/context.js +3 -3
  40. package/lib/internal/template/app-layout/visual-refresh/context.js.map +1 -1
  41. package/lib/internal/template/app-layout/visual-refresh/header.d.ts +0 -4
  42. package/lib/internal/template/app-layout/visual-refresh/header.d.ts.map +1 -1
  43. package/lib/internal/template/app-layout/visual-refresh/header.js +0 -4
  44. package/lib/internal/template/app-layout/visual-refresh/header.js.map +1 -1
  45. package/lib/internal/template/app-layout/visual-refresh/index.d.ts +0 -8
  46. package/lib/internal/template/app-layout/visual-refresh/index.d.ts.map +1 -1
  47. package/lib/internal/template/app-layout/visual-refresh/index.js +4 -13
  48. package/lib/internal/template/app-layout/visual-refresh/index.js.map +1 -1
  49. package/lib/internal/template/app-layout/visual-refresh/layout.d.ts.map +1 -1
  50. package/lib/internal/template/app-layout/visual-refresh/layout.js +31 -19
  51. package/lib/internal/template/app-layout/visual-refresh/layout.js.map +1 -1
  52. package/lib/internal/template/app-layout/visual-refresh/main.d.ts.map +1 -1
  53. package/lib/internal/template/app-layout/visual-refresh/main.js +2 -6
  54. package/lib/internal/template/app-layout/visual-refresh/main.js.map +1 -1
  55. package/lib/internal/template/app-layout/visual-refresh/mobile-toolbar.d.ts +3 -0
  56. package/lib/internal/template/app-layout/visual-refresh/mobile-toolbar.d.ts.map +1 -0
  57. package/lib/internal/template/app-layout/visual-refresh/{app-bar.js → mobile-toolbar.js} +9 -18
  58. package/lib/internal/template/app-layout/visual-refresh/mobile-toolbar.js.map +1 -0
  59. package/lib/internal/template/app-layout/visual-refresh/navigation.js +1 -1
  60. package/lib/internal/template/app-layout/visual-refresh/navigation.js.map +1 -1
  61. package/lib/internal/template/app-layout/visual-refresh/notifications.d.ts +0 -4
  62. package/lib/internal/template/app-layout/visual-refresh/notifications.d.ts.map +1 -1
  63. package/lib/internal/template/app-layout/visual-refresh/notifications.js +4 -9
  64. package/lib/internal/template/app-layout/visual-refresh/notifications.js.map +1 -1
  65. package/lib/internal/template/app-layout/visual-refresh/split-panel.js +1 -1
  66. package/lib/internal/template/app-layout/visual-refresh/split-panel.js.map +1 -1
  67. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +68 -72
  68. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +400 -576
  69. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +68 -72
  70. package/lib/internal/template/attribute-editor/interfaces.d.ts +2 -1
  71. package/lib/internal/template/attribute-editor/interfaces.d.ts.map +1 -1
  72. package/lib/internal/template/attribute-editor/interfaces.js.map +1 -1
  73. package/lib/internal/template/attribute-editor/row.d.ts +1 -1
  74. package/lib/internal/template/attribute-editor/row.d.ts.map +1 -1
  75. package/lib/internal/template/attribute-editor/row.js +3 -1
  76. package/lib/internal/template/attribute-editor/row.js.map +1 -1
  77. package/lib/internal/template/autosuggest/autosuggest-option.d.ts +1 -1
  78. package/lib/internal/template/autosuggest/autosuggest-option.d.ts.map +1 -1
  79. package/lib/internal/template/autosuggest/autosuggest-option.js +3 -1
  80. package/lib/internal/template/autosuggest/autosuggest-option.js.map +1 -1
  81. package/lib/internal/template/autosuggest/interfaces.d.ts +3 -1
  82. package/lib/internal/template/autosuggest/interfaces.d.ts.map +1 -1
  83. package/lib/internal/template/autosuggest/interfaces.js.map +1 -1
  84. package/lib/internal/template/autosuggest/internal.d.ts.map +1 -1
  85. package/lib/internal/template/autosuggest/internal.js +4 -0
  86. package/lib/internal/template/autosuggest/internal.js.map +1 -1
  87. package/lib/internal/template/autosuggest/plain-list.d.ts +1 -1
  88. package/lib/internal/template/autosuggest/plain-list.d.ts.map +1 -1
  89. package/lib/internal/template/autosuggest/plain-list.js.map +1 -1
  90. package/lib/internal/template/breadcrumb-group/interfaces.d.ts +1 -0
  91. package/lib/internal/template/breadcrumb-group/interfaces.d.ts.map +1 -1
  92. package/lib/internal/template/breadcrumb-group/interfaces.js.map +1 -1
  93. package/lib/internal/template/calendar/interfaces.d.ts +3 -0
  94. package/lib/internal/template/calendar/interfaces.d.ts.map +1 -1
  95. package/lib/internal/template/calendar/interfaces.js.map +1 -1
  96. package/lib/internal/template/cards/interfaces.d.ts +1 -0
  97. package/lib/internal/template/cards/interfaces.d.ts.map +1 -1
  98. package/lib/internal/template/cards/interfaces.js.map +1 -1
  99. package/lib/internal/template/cards/styles.css.js +37 -37
  100. package/lib/internal/template/cards/styles.scoped.css +53 -53
  101. package/lib/internal/template/cards/styles.selectors.js +37 -37
  102. package/lib/internal/template/code-editor/interfaces.d.ts +1 -0
  103. package/lib/internal/template/code-editor/interfaces.d.ts.map +1 -1
  104. package/lib/internal/template/code-editor/interfaces.js.map +1 -1
  105. package/lib/internal/template/collection-preferences/content-display/index.d.ts.map +1 -1
  106. package/lib/internal/template/collection-preferences/content-display/index.js +14 -9
  107. package/lib/internal/template/collection-preferences/content-display/index.js.map +1 -1
  108. package/lib/internal/template/collection-preferences/index.d.ts.map +1 -1
  109. package/lib/internal/template/collection-preferences/index.js +6 -4
  110. package/lib/internal/template/collection-preferences/index.js.map +1 -1
  111. package/lib/internal/template/collection-preferences/interfaces.d.ts +21 -12
  112. package/lib/internal/template/collection-preferences/interfaces.d.ts.map +1 -1
  113. package/lib/internal/template/collection-preferences/interfaces.js.map +1 -1
  114. package/lib/internal/template/collection-preferences/utils.d.ts +1 -1
  115. package/lib/internal/template/collection-preferences/utils.d.ts.map +1 -1
  116. package/lib/internal/template/collection-preferences/utils.js +19 -6
  117. package/lib/internal/template/collection-preferences/utils.js.map +1 -1
  118. package/lib/internal/template/content-layout/internal.d.ts.map +1 -1
  119. package/lib/internal/template/content-layout/internal.js +1 -3
  120. package/lib/internal/template/content-layout/internal.js.map +1 -1
  121. package/lib/internal/template/content-layout/styles.css.js +6 -7
  122. package/lib/internal/template/content-layout/styles.scoped.css +9 -19
  123. package/lib/internal/template/content-layout/styles.selectors.js +6 -7
  124. package/lib/internal/template/date-range-picker/calendar/grids/grid.d.ts +1 -1
  125. package/lib/internal/template/date-range-picker/calendar/grids/grid.d.ts.map +1 -1
  126. package/lib/internal/template/date-range-picker/calendar/grids/grid.js.map +1 -1
  127. package/lib/internal/template/date-range-picker/calendar/grids/index.d.ts +1 -1
  128. package/lib/internal/template/date-range-picker/calendar/grids/index.d.ts.map +1 -1
  129. package/lib/internal/template/date-range-picker/calendar/grids/index.js.map +1 -1
  130. package/lib/internal/template/date-range-picker/calendar/header/header-button.d.ts +1 -1
  131. package/lib/internal/template/date-range-picker/calendar/header/header-button.d.ts.map +1 -1
  132. package/lib/internal/template/date-range-picker/calendar/header/header-button.js.map +1 -1
  133. package/lib/internal/template/date-range-picker/calendar/header/index.d.ts +2 -2
  134. package/lib/internal/template/date-range-picker/calendar/header/index.d.ts.map +1 -1
  135. package/lib/internal/template/date-range-picker/calendar/header/index.js.map +1 -1
  136. package/lib/internal/template/date-range-picker/calendar/index.d.ts +1 -1
  137. package/lib/internal/template/date-range-picker/calendar/index.d.ts.map +1 -1
  138. package/lib/internal/template/date-range-picker/calendar/index.js +11 -8
  139. package/lib/internal/template/date-range-picker/calendar/index.js.map +1 -1
  140. package/lib/internal/template/date-range-picker/calendar/range-inputs.d.ts +1 -1
  141. package/lib/internal/template/date-range-picker/calendar/range-inputs.d.ts.map +1 -1
  142. package/lib/internal/template/date-range-picker/calendar/range-inputs.js +7 -5
  143. package/lib/internal/template/date-range-picker/calendar/range-inputs.js.map +1 -1
  144. package/lib/internal/template/date-range-picker/dropdown.d.ts +2 -1
  145. package/lib/internal/template/date-range-picker/dropdown.d.ts.map +1 -1
  146. package/lib/internal/template/date-range-picker/dropdown.js +7 -5
  147. package/lib/internal/template/date-range-picker/dropdown.js.map +1 -1
  148. package/lib/internal/template/date-range-picker/index.d.ts.map +1 -1
  149. package/lib/internal/template/date-range-picker/index.js +13 -4
  150. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  151. package/lib/internal/template/date-range-picker/interfaces.d.ts +22 -21
  152. package/lib/internal/template/date-range-picker/interfaces.d.ts.map +1 -1
  153. package/lib/internal/template/date-range-picker/interfaces.js.map +1 -1
  154. package/lib/internal/template/date-range-picker/mode-switcher.d.ts +1 -1
  155. package/lib/internal/template/date-range-picker/mode-switcher.d.ts.map +1 -1
  156. package/lib/internal/template/date-range-picker/mode-switcher.js +4 -2
  157. package/lib/internal/template/date-range-picker/mode-switcher.js.map +1 -1
  158. package/lib/internal/template/date-range-picker/relative-range/index.d.ts +1 -1
  159. package/lib/internal/template/date-range-picker/relative-range/index.d.ts.map +1 -1
  160. package/lib/internal/template/date-range-picker/relative-range/index.js +14 -10
  161. package/lib/internal/template/date-range-picker/relative-range/index.js.map +1 -1
  162. package/lib/internal/template/expandable-section/interfaces.d.ts +1 -1
  163. package/lib/internal/template/expandable-section/interfaces.js.map +1 -1
  164. package/lib/internal/template/flashbar/interfaces.d.ts +1 -0
  165. package/lib/internal/template/flashbar/interfaces.d.ts.map +1 -1
  166. package/lib/internal/template/flashbar/interfaces.js.map +1 -1
  167. package/lib/internal/template/flashbar/styles.css.js +45 -45
  168. package/lib/internal/template/flashbar/styles.scoped.css +169 -169
  169. package/lib/internal/template/flashbar/styles.selectors.js +45 -45
  170. package/lib/internal/template/form/interfaces.d.ts +1 -0
  171. package/lib/internal/template/form/interfaces.d.ts.map +1 -1
  172. package/lib/internal/template/form/interfaces.js.map +1 -1
  173. package/lib/internal/template/form-field/interfaces.d.ts +1 -0
  174. package/lib/internal/template/form-field/interfaces.d.ts.map +1 -1
  175. package/lib/internal/template/form-field/interfaces.js.map +1 -1
  176. package/lib/internal/template/help-panel/interfaces.d.ts +1 -0
  177. package/lib/internal/template/help-panel/interfaces.d.ts.map +1 -1
  178. package/lib/internal/template/help-panel/interfaces.js.map +1 -1
  179. package/lib/internal/template/i18n/context.d.ts +20 -0
  180. package/lib/internal/template/i18n/context.d.ts.map +1 -0
  181. package/lib/internal/template/i18n/context.js +17 -0
  182. package/lib/internal/template/i18n/context.js.map +1 -0
  183. package/lib/internal/template/i18n/index.d.ts +2 -0
  184. package/lib/internal/template/i18n/index.d.ts.map +1 -0
  185. package/lib/internal/template/i18n/index.js +4 -0
  186. package/lib/internal/template/i18n/index.js.map +1 -0
  187. package/lib/internal/template/i18n/messages/all.all.d.ts +3 -0
  188. package/lib/internal/template/i18n/messages/all.all.js +5473 -0
  189. package/lib/internal/template/i18n/messages/all.all.json +5518 -0
  190. package/lib/internal/template/i18n/messages/all.de.d.ts +3 -0
  191. package/lib/internal/template/i18n/messages/all.de.js +446 -0
  192. package/lib/internal/template/i18n/messages/all.de.json +454 -0
  193. package/lib/internal/template/i18n/messages/all.en-GB.d.ts +3 -0
  194. package/lib/internal/template/i18n/messages/all.en-GB.js +436 -0
  195. package/lib/internal/template/i18n/messages/all.en-GB.json +439 -0
  196. package/lib/internal/template/i18n/messages/all.en.d.ts +3 -0
  197. package/lib/internal/template/i18n/messages/all.en.js +722 -0
  198. package/lib/internal/template/i18n/messages/all.en.json +721 -0
  199. package/lib/internal/template/i18n/messages/all.es.d.ts +3 -0
  200. package/lib/internal/template/i18n/messages/all.es.js +437 -0
  201. package/lib/internal/template/i18n/messages/all.es.json +439 -0
  202. package/lib/internal/template/i18n/messages/all.fr.d.ts +3 -0
  203. package/lib/internal/template/i18n/messages/all.fr.js +451 -0
  204. package/lib/internal/template/i18n/messages/all.fr.json +452 -0
  205. package/lib/internal/template/i18n/messages/all.id.d.ts +3 -0
  206. package/lib/internal/template/i18n/messages/all.id.js +427 -0
  207. package/lib/internal/template/i18n/messages/all.id.json +435 -0
  208. package/lib/internal/template/i18n/messages/all.it.d.ts +3 -0
  209. package/lib/internal/template/i18n/messages/all.it.js +437 -0
  210. package/lib/internal/template/i18n/messages/all.it.json +441 -0
  211. package/lib/internal/template/i18n/messages/all.ja.d.ts +3 -0
  212. package/lib/internal/template/i18n/messages/all.ja.js +441 -0
  213. package/lib/internal/template/i18n/messages/all.ja.json +445 -0
  214. package/lib/internal/template/i18n/messages/all.ko.d.ts +3 -0
  215. package/lib/internal/template/i18n/messages/all.ko.js +419 -0
  216. package/lib/internal/template/i18n/messages/all.ko.json +426 -0
  217. package/lib/internal/template/i18n/messages/all.pt-BR.d.ts +3 -0
  218. package/lib/internal/template/i18n/messages/all.pt-BR.js +444 -0
  219. package/lib/internal/template/i18n/messages/all.pt-BR.json +443 -0
  220. package/lib/internal/template/i18n/messages/all.zh-CN.d.ts +3 -0
  221. package/lib/internal/template/i18n/messages/all.zh-CN.js +429 -0
  222. package/lib/internal/template/i18n/messages/all.zh-CN.json +434 -0
  223. package/lib/internal/template/i18n/messages/all.zh-TW.d.ts +3 -0
  224. package/lib/internal/template/i18n/messages/all.zh-TW.js +428 -0
  225. package/lib/internal/template/i18n/messages/all.zh-TW.json +433 -0
  226. package/lib/internal/template/i18n/provider.d.ts +20 -0
  227. package/lib/internal/template/i18n/provider.d.ts.map +1 -0
  228. package/lib/internal/template/i18n/provider.js +105 -0
  229. package/lib/internal/template/i18n/provider.js.map +1 -0
  230. package/lib/internal/template/i18n/testing.d.ts +8 -0
  231. package/lib/internal/template/i18n/testing.d.ts.map +1 -0
  232. package/lib/internal/template/i18n/testing.js +8 -0
  233. package/lib/internal/template/i18n/testing.js.map +1 -0
  234. package/lib/internal/template/input/interfaces.d.ts +1 -0
  235. package/lib/internal/template/input/interfaces.d.ts.map +1 -1
  236. package/lib/internal/template/input/interfaces.js.map +1 -1
  237. package/lib/internal/template/internal/base-component/styles.scoped.css +0 -2
  238. package/lib/internal/template/internal/components/dropdown-status/interfaces.d.ts +3 -0
  239. package/lib/internal/template/internal/components/dropdown-status/interfaces.d.ts.map +1 -1
  240. package/lib/internal/template/internal/components/dropdown-status/interfaces.js.map +1 -1
  241. package/lib/internal/template/internal/environment.js +1 -1
  242. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  243. package/lib/internal/template/internal/generated/custom-css-properties/index.js +37 -32
  244. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  245. package/lib/internal/template/internal/i18n/context.d.ts +1 -19
  246. package/lib/internal/template/internal/i18n/context.d.ts.map +1 -1
  247. package/lib/internal/template/internal/i18n/context.js +1 -14
  248. package/lib/internal/template/internal/i18n/context.js.map +1 -1
  249. package/lib/internal/template/internal/i18n/index.d.ts +1 -1
  250. package/lib/internal/template/internal/i18n/index.js +1 -1
  251. package/lib/internal/template/internal/i18n/index.js.map +1 -1
  252. package/lib/internal/template/internal/i18n/messages/all.all.js +3541 -30
  253. package/lib/internal/template/internal/i18n/messages/all.all.json +3599 -52
  254. package/lib/internal/template/internal/i18n/messages/all.de.js +280 -1
  255. package/lib/internal/template/internal/i18n/messages/all.de.json +290 -3
  256. package/lib/internal/template/internal/i18n/messages/all.en-GB.js +270 -1
  257. package/lib/internal/template/internal/i18n/messages/all.en-GB.json +275 -3
  258. package/lib/internal/template/internal/i18n/messages/all.en.js +556 -1
  259. package/lib/internal/template/internal/i18n/messages/all.en.json +558 -4
  260. package/lib/internal/template/internal/i18n/messages/all.es.js +271 -1
  261. package/lib/internal/template/internal/i18n/messages/all.es.json +275 -3
  262. package/lib/internal/template/internal/i18n/messages/all.fr.js +289 -5
  263. package/lib/internal/template/internal/i18n/messages/all.fr.json +292 -7
  264. package/lib/internal/template/internal/i18n/messages/all.id.js +261 -1
  265. package/lib/internal/template/internal/i18n/messages/all.id.json +271 -3
  266. package/lib/internal/template/internal/i18n/messages/all.it.js +271 -1
  267. package/lib/internal/template/internal/i18n/messages/all.it.json +277 -3
  268. package/lib/internal/template/internal/i18n/messages/all.ja.js +267 -1
  269. package/lib/internal/template/internal/i18n/messages/all.ja.json +273 -3
  270. package/lib/internal/template/internal/i18n/messages/all.ko.js +257 -2
  271. package/lib/internal/template/internal/i18n/messages/all.ko.json +263 -4
  272. package/lib/internal/template/internal/i18n/messages/all.pt-BR.js +280 -3
  273. package/lib/internal/template/internal/i18n/messages/all.pt-BR.json +281 -5
  274. package/lib/internal/template/internal/i18n/messages/all.zh-CN.js +272 -9
  275. package/lib/internal/template/internal/i18n/messages/all.zh-CN.json +276 -11
  276. package/lib/internal/template/internal/i18n/messages/all.zh-TW.js +264 -1
  277. package/lib/internal/template/internal/i18n/messages/all.zh-TW.json +268 -3
  278. package/lib/internal/template/internal/i18n/provider.d.ts +1 -19
  279. package/lib/internal/template/internal/i18n/provider.d.ts.map +1 -1
  280. package/lib/internal/template/internal/i18n/provider.js +1 -102
  281. package/lib/internal/template/internal/i18n/provider.js.map +1 -1
  282. package/lib/internal/template/internal/i18n/testing.d.ts +1 -7
  283. package/lib/internal/template/internal/i18n/testing.d.ts.map +1 -1
  284. package/lib/internal/template/internal/i18n/testing.js +1 -5
  285. package/lib/internal/template/internal/i18n/testing.js.map +1 -1
  286. package/lib/internal/template/link/interfaces.d.ts +1 -0
  287. package/lib/internal/template/link/interfaces.d.ts.map +1 -1
  288. package/lib/internal/template/link/interfaces.js.map +1 -1
  289. package/lib/internal/template/modal/interfaces.d.ts +1 -0
  290. package/lib/internal/template/modal/interfaces.d.ts.map +1 -1
  291. package/lib/internal/template/modal/interfaces.js.map +1 -1
  292. package/lib/internal/template/multiselect/interfaces.d.ts +1 -0
  293. package/lib/internal/template/multiselect/interfaces.d.ts.map +1 -1
  294. package/lib/internal/template/multiselect/interfaces.js.map +1 -1
  295. package/lib/internal/template/package.json +27 -0
  296. package/lib/internal/template/pagination/interfaces.d.ts +1 -0
  297. package/lib/internal/template/pagination/interfaces.d.ts.map +1 -1
  298. package/lib/internal/template/pagination/interfaces.js.map +1 -1
  299. package/lib/internal/template/property-filter/interfaces.d.ts +1 -0
  300. package/lib/internal/template/property-filter/interfaces.d.ts.map +1 -1
  301. package/lib/internal/template/property-filter/interfaces.js.map +1 -1
  302. package/lib/internal/template/s3-resource-selector/interfaces.d.ts +48 -47
  303. package/lib/internal/template/s3-resource-selector/interfaces.d.ts.map +1 -1
  304. package/lib/internal/template/s3-resource-selector/interfaces.js.map +1 -1
  305. package/lib/internal/template/s3-resource-selector/s3-in-context/index.d.ts.map +1 -1
  306. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js +11 -9
  307. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js.map +1 -1
  308. package/lib/internal/template/s3-resource-selector/s3-in-context/validation.d.ts +2 -1
  309. package/lib/internal/template/s3-resource-selector/s3-in-context/validation.d.ts.map +1 -1
  310. package/lib/internal/template/s3-resource-selector/s3-in-context/validation.js +2 -2
  311. package/lib/internal/template/s3-resource-selector/s3-in-context/validation.js.map +1 -1
  312. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.d.ts +2 -1
  313. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.d.ts.map +1 -1
  314. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js +7 -7
  315. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  316. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.d.ts.map +1 -1
  317. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js +10 -7
  318. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  319. package/lib/internal/template/s3-resource-selector/s3-modal/index.d.ts.map +1 -1
  320. package/lib/internal/template/s3-resource-selector/s3-modal/index.js +8 -6
  321. package/lib/internal/template/s3-resource-selector/s3-modal/index.js.map +1 -1
  322. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.d.ts.map +1 -1
  323. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js +10 -7
  324. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  325. package/lib/internal/template/s3-resource-selector/s3-modal/table-utils.d.ts +2 -1
  326. package/lib/internal/template/s3-resource-selector/s3-modal/table-utils.d.ts.map +1 -1
  327. package/lib/internal/template/s3-resource-selector/s3-modal/table-utils.js +5 -9
  328. package/lib/internal/template/s3-resource-selector/s3-modal/table-utils.js.map +1 -1
  329. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.d.ts.map +1 -1
  330. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js +10 -7
  331. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  332. package/lib/internal/template/select/interfaces.d.ts +2 -0
  333. package/lib/internal/template/select/interfaces.d.ts.map +1 -1
  334. package/lib/internal/template/select/interfaces.js.map +1 -1
  335. package/lib/internal/template/split-panel/index.d.ts.map +1 -1
  336. package/lib/internal/template/split-panel/index.js +16 -13
  337. package/lib/internal/template/split-panel/index.js.map +1 -1
  338. package/lib/internal/template/split-panel/interfaces.d.ts +4 -3
  339. package/lib/internal/template/split-panel/interfaces.d.ts.map +1 -1
  340. package/lib/internal/template/split-panel/interfaces.js.map +1 -1
  341. package/lib/internal/template/split-panel/side.d.ts +3 -3
  342. package/lib/internal/template/split-panel/side.d.ts.map +1 -1
  343. package/lib/internal/template/split-panel/side.js +2 -2
  344. package/lib/internal/template/split-panel/side.js.map +1 -1
  345. package/lib/internal/template/table/body-cell/index.d.ts.map +1 -1
  346. package/lib/internal/template/table/body-cell/index.js +3 -1
  347. package/lib/internal/template/table/body-cell/index.js.map +1 -1
  348. package/lib/internal/template/table/body-cell/inline-editor.d.ts.map +1 -1
  349. package/lib/internal/template/table/body-cell/inline-editor.js +5 -1
  350. package/lib/internal/template/table/body-cell/inline-editor.js.map +1 -1
  351. package/lib/internal/template/table/header-cell/index.d.ts.map +1 -1
  352. package/lib/internal/template/table/header-cell/index.js +3 -1
  353. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  354. package/lib/internal/template/table/interfaces.d.ts +2 -0
  355. package/lib/internal/template/table/interfaces.d.ts.map +1 -1
  356. package/lib/internal/template/table/interfaces.js.map +1 -1
  357. package/lib/internal/template/table/styles.css.js +36 -35
  358. package/lib/internal/template/table/styles.scoped.css +46 -43
  359. package/lib/internal/template/table/styles.selectors.js +36 -35
  360. package/lib/internal/template/tabs/interfaces.d.ts +1 -0
  361. package/lib/internal/template/tabs/interfaces.d.ts.map +1 -1
  362. package/lib/internal/template/tabs/interfaces.js.map +1 -1
  363. package/lib/internal/template/tag-editor/index.d.ts.map +1 -1
  364. package/lib/internal/template/tag-editor/index.js +19 -16
  365. package/lib/internal/template/tag-editor/index.js.map +1 -1
  366. package/lib/internal/template/tag-editor/interfaces.d.ts +33 -32
  367. package/lib/internal/template/tag-editor/interfaces.d.ts.map +1 -1
  368. package/lib/internal/template/tag-editor/interfaces.js.map +1 -1
  369. package/lib/internal/template/tag-editor/internal.d.ts +6 -6
  370. package/lib/internal/template/tag-editor/internal.d.ts.map +1 -1
  371. package/lib/internal/template/tag-editor/internal.js.map +1 -1
  372. package/lib/internal/template/tag-editor/validation.d.ts +2 -1
  373. package/lib/internal/template/tag-editor/validation.d.ts.map +1 -1
  374. package/lib/internal/template/tag-editor/validation.js +8 -8
  375. package/lib/internal/template/tag-editor/validation.js.map +1 -1
  376. package/lib/internal/template/token-group/interfaces.d.ts +1 -0
  377. package/lib/internal/template/token-group/interfaces.d.ts.map +1 -1
  378. package/lib/internal/template/token-group/interfaces.js.map +1 -1
  379. package/lib/internal/template/top-navigation/interfaces.d.ts +4 -3
  380. package/lib/internal/template/top-navigation/interfaces.d.ts.map +1 -1
  381. package/lib/internal/template/top-navigation/interfaces.js.map +1 -1
  382. package/lib/internal/template/top-navigation/internal.d.ts.map +1 -1
  383. package/lib/internal/template/top-navigation/internal.js +6 -4
  384. package/lib/internal/template/top-navigation/internal.js.map +1 -1
  385. package/lib/internal/template/top-navigation/parts/overflow-menu/index.d.ts.map +1 -1
  386. package/lib/internal/template/top-navigation/parts/overflow-menu/index.js +6 -2
  387. package/lib/internal/template/top-navigation/parts/overflow-menu/index.js.map +1 -1
  388. package/lib/internal/template/wizard/interfaces.d.ts +1 -0
  389. package/lib/internal/template/wizard/interfaces.d.ts.map +1 -1
  390. package/lib/internal/template/wizard/interfaces.js.map +1 -1
  391. package/lib/internal/template/wizard/styles.css.js +31 -32
  392. package/lib/internal/template/wizard/styles.scoped.css +64 -67
  393. package/lib/internal/template/wizard/styles.selectors.js +31 -32
  394. package/lib/internal/template/wizard/wizard-form.d.ts.map +1 -1
  395. package/lib/internal/template/wizard/wizard-form.js +1 -1
  396. package/lib/internal/template/wizard/wizard-form.js.map +1 -1
  397. package/package.json +1 -1
  398. package/lib/internal/scss/app-layout/visual-refresh/app-bar.scss +0 -145
  399. package/lib/internal/template/app-layout/visual-refresh/app-bar.d.ts +0 -7
  400. package/lib/internal/template/app-layout/visual-refresh/app-bar.d.ts.map +0 -1
  401. package/lib/internal/template/app-layout/visual-refresh/app-bar.js.map +0 -1
@@ -100,6 +100,7 @@ export interface S3ResourceSelectorProps extends BaseComponentProps {
100
100
  resource: S3ResourceSelectorProps.Resource;
101
101
  /**
102
102
  * An object containing all the necessary localized strings required by the component.
103
+ * @i18n
103
104
  */
104
105
  i18nStrings?: S3ResourceSelectorProps.I18nStrings;
105
106
  /**
@@ -161,60 +162,60 @@ export declare namespace S3ResourceSelectorProps {
161
162
  }
162
163
  type SelectableItems = 'buckets' | 'objects' | 'versions';
163
164
  interface I18nStrings {
164
- inContextInputPlaceholder: string;
165
+ inContextInputPlaceholder?: string;
165
166
  inContextInputClearAriaLabel?: string;
166
- inContextSelectPlaceholder: string;
167
- inContextBrowseButton: string;
168
- inContextViewButton: string;
167
+ inContextSelectPlaceholder?: string;
168
+ inContextBrowseButton?: string;
169
+ inContextViewButton?: string;
169
170
  inContextViewButtonAriaLabel?: string;
170
- inContextLoadingText: string;
171
- inContextUriLabel: string;
172
- inContextVersionSelectLabel: string;
173
- modalTitle: string;
174
- modalCancelButton: string;
175
- modalSubmitButton: string;
176
- modalBreadcrumbRootItem: string;
177
- selectionBuckets: string;
178
- selectionObjects: string;
179
- selectionVersions: string;
180
- selectionBucketsSearchPlaceholder: string;
181
- selectionObjectsSearchPlaceholder: string;
182
- selectionVersionsSearchPlaceholder: string;
183
- selectionBucketsLoading: string;
184
- selectionBucketsNoItems: string;
185
- selectionObjectsLoading: string;
186
- selectionObjectsNoItems: string;
187
- selectionVersionsLoading: string;
188
- selectionVersionsNoItems: string;
189
- filteringCounterText: (count: number) => string;
190
- filteringNoMatches: string;
191
- filteringCantFindMatch: string;
192
- clearFilterButtonText: string;
193
- columnBucketName: string;
171
+ inContextLoadingText?: string;
172
+ inContextUriLabel?: string;
173
+ inContextVersionSelectLabel?: string;
174
+ modalTitle?: string;
175
+ modalCancelButton?: string;
176
+ modalSubmitButton?: string;
177
+ modalBreadcrumbRootItem?: string;
178
+ selectionBuckets?: string;
179
+ selectionObjects?: string;
180
+ selectionVersions?: string;
181
+ selectionBucketsSearchPlaceholder?: string;
182
+ selectionObjectsSearchPlaceholder?: string;
183
+ selectionVersionsSearchPlaceholder?: string;
184
+ selectionBucketsLoading?: string;
185
+ selectionBucketsNoItems?: string;
186
+ selectionObjectsLoading?: string;
187
+ selectionObjectsNoItems?: string;
188
+ selectionVersionsLoading?: string;
189
+ selectionVersionsNoItems?: string;
190
+ filteringCounterText?: (count: number) => string;
191
+ filteringNoMatches?: string;
192
+ filteringCantFindMatch?: string;
193
+ clearFilterButtonText?: string;
194
+ columnBucketName?: string;
194
195
  columnBucketCreationDate?: string;
195
196
  columnBucketRegion?: string;
196
- columnObjectKey: string;
197
+ columnObjectKey?: string;
197
198
  columnObjectLastModified?: string;
198
199
  columnObjectSize?: string;
199
- columnVersionID: string;
200
- columnVersionLastModified: string;
200
+ columnVersionID?: string;
201
+ columnVersionLastModified?: string;
201
202
  columnVersionSize?: string;
202
- validationPathMustBegin: string;
203
- validationBucketLowerCase: string;
204
- validationBucketMustNotContain: string;
205
- validationBucketLength: string;
206
- validationBucketMustComplyDns: string;
207
- labelSortedDescending: SortingColumnContainingString;
208
- labelSortedAscending: SortingColumnContainingString;
209
- labelNotSorted: SortingColumnContainingString;
210
- labelsPagination: PaginationProps.Labels;
211
- labelsBucketsSelection: SelectionLabels<Bucket>;
212
- labelsObjectsSelection: SelectionLabels<S3ResourceSelectorProps.Object>;
213
- labelsVersionsSelection: SelectionLabels<Version>;
214
- labelFiltering: (itemsType: string) => string;
215
- labelRefresh: string;
216
- labelModalDismiss: string;
217
- labelBreadcrumbs: string;
203
+ validationPathMustBegin?: string;
204
+ validationBucketLowerCase?: string;
205
+ validationBucketMustNotContain?: string;
206
+ validationBucketLength?: string;
207
+ validationBucketMustComplyDns?: string;
208
+ labelSortedDescending?: SortingColumnContainingString;
209
+ labelSortedAscending?: SortingColumnContainingString;
210
+ labelNotSorted?: SortingColumnContainingString;
211
+ labelsPagination?: PaginationProps.Labels;
212
+ labelsBucketsSelection?: SelectionLabels<Bucket>;
213
+ labelsObjectsSelection?: SelectionLabels<S3ResourceSelectorProps.Object>;
214
+ labelsVersionsSelection?: SelectionLabels<Version>;
215
+ labelFiltering?: (itemsType: string) => string;
216
+ labelRefresh?: string;
217
+ labelModalDismiss?: string;
218
+ labelBreadcrumbs?: string;
218
219
  }
219
220
  interface ChangeDetail {
220
221
  resource: Resource;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { TableProps } from '../table/interfaces';\nimport { PaginationProps } from '../pagination/interfaces';\nimport { BaseComponentProps } from '../internal/base-component';\nimport { NonCancelableEventHandler } from '../internal/events';\n\nexport interface S3ResourceSelectorProps extends BaseComponentProps {\n /**\n * Specifies additional information about component status.\n */\n alert?: React.ReactNode;\n\n /**\n * Adds `aria-labelledby` to the component. If you're using this component within a form field,\n * don't set this property because the form field component automatically sets it.\n *\n * Use this property if the component isn't surrounded by a form field, or you want to override the value\n * automatically set by the form field (for example, if you have two components within a single form field).\n *\n * To use it correctly, define an ID for the element you want to use as label and set the property to that ID.\n */\n ariaLabelledby?: string;\n\n /**\n * Adds `aria-describedby` to the component. If you're using this component within a form field,\n * don't set this property because the form field component automatically sets it.\n *\n * Use this property if the component isn't surrounded by a form field, or you want to override the value\n * automatically set by the form field (for example, if you have two components within a single form field).\n *\n * To use it correctly, define an ID for each element that you want to use as a description\n * and set the property to a string of each ID separated by spaces (for example, `\"id1 id2 id3\"`).\n */\n ariaDescribedby?: string;\n\n /**\n * Adds `aria-label` to the component.\n */\n ariaLabel?: string;\n\n /**\n * Adds `aria-labelledby` to the S3 URI input. If you're using this component within a form field,\n * you do not need to set this property, as the form field component will set it automatically.\n *\n * Use this property if the component isn't surrounded by a form field, or you want to override the value\n * automatically set by the form field (for example, if you have two components within a single form field).\n *\n * To use it correctly, define an ID for the element you want to use as label and set the property to that ID.\n */\n inputAriaDescribedby?: string;\n\n /**\n * An array of the item types that are selectable in the table view. The array may contain the following items:\n * 'buckets', 'objects', or 'versions'. Example: ['buckets', 'objects']. By default, no items are selectable.\n * This property determines whether the component operates in Read mode or Write mode:\n * * Read mode - When 'objects' and 'versions' values are provided (folder selection should be disabled by\n * customizing `objectsIsItemDisabled` function).\n * * Write mode - When 'buckets' and 'objects' values are provided (file selection should be disabled by\n * customizing `objectsIsItemDisabled` function).\n */\n selectableItemsTypes?: ReadonlyArray<S3ResourceSelectorProps.SelectableItems>;\n\n /**\n * Href of the selected object that is applied to the View button.\n */\n viewHref?: string;\n\n /**\n * Whether the S3 URI input field is in invalid state.\n */\n invalid?: boolean;\n\n /**\n * Optionally overrides the set of visible columns in the Buckets view. Available columns: 'Name', 'CreationDate',\n * and 'Region'.\n */\n bucketsVisibleColumns?: ReadonlyArray<string>;\n\n /**\n * Optionally overrides the set of visible columns in the Objects view. Available columns: 'Key', 'LastModified',\n * and 'Size'.\n */\n objectsVisibleColumns?: ReadonlyArray<string>;\n\n /**\n * Optionally overrides the set of visible columns in the Versions view. Available columns: 'ID', 'CreationDate',\n * and 'Size'.\n */\n versionsVisibleColumns?: ReadonlyArray<string>;\n\n /**\n * Optionally overrides whether a bucket should be disabled for selection in the Buckets view or not.\n * It has higher priority than `selectableItemsTypes`. Example: if `selectableItemsTypes` has `['buckets']` value and\n * `bucketsIsItemDisabled` returns false for a bucket, then the bucket is disabled for selection.\n */\n bucketsIsItemDisabled?: (item: S3ResourceSelectorProps.Bucket) => boolean;\n\n /**\n * Optionally overrides whether an object should be disabled for selection in the Objects view or not. Similar to\n * `bucketsIsItemDisabled` this property takes precedence over the `selectableItemsTypes` property.\n */\n objectsIsItemDisabled?: (item: S3ResourceSelectorProps.Object) => boolean;\n\n /**\n * Optionally overrides whether a version should be disabled for selection in the Versions view or not. Similar to\n * `bucketsIsItemDisabled` this property takes precedence over the `selectableItemsTypes` property.\n */\n versionsIsItemDisabled?: (item: S3ResourceSelectorProps.Version) => boolean;\n\n /**\n * The current selected resource. Resource has the following properties:\n * - `uri` (string) - URI of the resource.\n * - `versionId` (string) - (Optional) Version ID of the selected resource.\n */\n resource: S3ResourceSelectorProps.Resource;\n\n /**\n * An object containing all the necessary localized strings required by the component.\n */\n i18nStrings?: S3ResourceSelectorProps.I18nStrings;\n\n /**\n * Specifies a function that returns all available buckets. The return type of the function should be a promise\n * that resolves to a list of objects with the following properties:\n * - `Name` (string) - Name of the bucket.\n * - `CreationDate` (string) - (Optional) Creation date of the bucket.\n * - `Region` (string) - (Optional) Region of the bucket.\n */\n fetchBuckets: () => Promise<ReadonlyArray<S3ResourceSelectorProps.Bucket>>;\n\n /**\n * Specifies a function that returns available objects and object prefixes for the given `bucketName` and `pathPrefix`.\n * The return type of the function should be a promise that resolves to a list of objects with the following properties:\n * - `Key` (string) - Name of the object or object prefix.\n * - `LastModified` (string) - (Optional) Date when this object was last modified.\n * - `Size` (number) - (Optional) Size of the object.\n * - `IsFolder` (boolean) - (Optional) Determines whether the entry is an object prefix (folder).\n */\n fetchObjects: (bucketName: string, pathPrefix: string) => Promise<ReadonlyArray<S3ResourceSelectorProps.Object>>;\n\n /**\n * Specifies a function that returns available versions for the given `bucketName` and `pathPrefix`.\n * The return type of the function should be a promise that resolves to a list of versions with the following properties:\n * - `VersionId` (string) - Version ID of an object.\n * - `LastModified` (string) - (Optional) Date when this object was last modified.\n * - `Size` (number) - (Optional) Size of the object version.\n */\n fetchVersions: (bucketName: string, pathPrefix: string) => Promise<ReadonlyArray<S3ResourceSelectorProps.Version>>;\n\n /**\n * Fired when the resource selection is changed. The event detail object contains resource that represents the full\n * path of the selected resource and `errorText` that may contain a validation error.\n */\n onChange?: NonCancelableEventHandler<S3ResourceSelectorProps.ChangeDetail>;\n}\n\n// Does not use TableProps.AriaLabels, because here we do not need \"allItemsSelectionLabel\"\n// it is not applicable to single selection mode\ninterface SelectionLabels<T> {\n itemSelectionLabel: (data: TableProps.SelectionState<T>, row: T) => string;\n selectionGroupLabel: string;\n}\n\ntype SortingColumnContainingString = (columnName: string) => string;\n\nexport namespace S3ResourceSelectorProps {\n export interface Bucket {\n Name?: string;\n CreationDate?: string;\n // artificial field, does not exist on the real s3 response\n Region?: string;\n }\n export interface Object {\n Key?: string;\n LastModified?: string;\n Size?: number;\n // artificial field, does not exist on the real s3 response\n IsFolder?: boolean;\n }\n export interface Version {\n VersionId?: string;\n LastModified?: string;\n Size?: number;\n }\n\n export interface Resource {\n uri: string;\n versionId?: string;\n }\n\n export type SelectableItems = 'buckets' | 'objects' | 'versions';\n\n export interface I18nStrings {\n inContextInputPlaceholder: string;\n inContextInputClearAriaLabel?: string;\n inContextSelectPlaceholder: string;\n inContextBrowseButton: string;\n inContextViewButton: string;\n inContextViewButtonAriaLabel?: string;\n inContextLoadingText: string;\n inContextUriLabel: string;\n inContextVersionSelectLabel: string;\n\n modalTitle: string;\n modalCancelButton: string;\n modalSubmitButton: string;\n modalBreadcrumbRootItem: string;\n\n selectionBuckets: string;\n selectionObjects: string;\n selectionVersions: string;\n selectionBucketsSearchPlaceholder: string;\n selectionObjectsSearchPlaceholder: string;\n selectionVersionsSearchPlaceholder: string;\n selectionBucketsLoading: string;\n selectionBucketsNoItems: string;\n selectionObjectsLoading: string;\n selectionObjectsNoItems: string;\n selectionVersionsLoading: string;\n selectionVersionsNoItems: string;\n\n filteringCounterText: (count: number) => string;\n filteringNoMatches: string;\n filteringCantFindMatch: string;\n clearFilterButtonText: string;\n\n columnBucketName: string;\n columnBucketCreationDate?: string;\n columnBucketRegion?: string;\n columnObjectKey: string;\n columnObjectLastModified?: string;\n columnObjectSize?: string;\n columnVersionID: string;\n columnVersionLastModified: string;\n columnVersionSize?: string;\n\n validationPathMustBegin: string;\n validationBucketLowerCase: string;\n validationBucketMustNotContain: string;\n validationBucketLength: string;\n validationBucketMustComplyDns: string;\n\n labelSortedDescending: SortingColumnContainingString;\n labelSortedAscending: SortingColumnContainingString;\n labelNotSorted: SortingColumnContainingString;\n labelsPagination: PaginationProps.Labels;\n labelsBucketsSelection: SelectionLabels<Bucket>;\n labelsObjectsSelection: SelectionLabels<S3ResourceSelectorProps.Object>;\n labelsVersionsSelection: SelectionLabels<Version>;\n labelFiltering: (itemsType: string) => string;\n labelRefresh: string;\n labelModalDismiss: string;\n labelBreadcrumbs: string;\n }\n\n export interface ChangeDetail {\n resource: Resource;\n errorText?: string;\n }\n\n export interface Ref {\n /**\n * Focuses the S3 URI input field\n */\n focus(): void;\n }\n}\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { TableProps } from '../table/interfaces';\nimport { PaginationProps } from '../pagination/interfaces';\nimport { BaseComponentProps } from '../internal/base-component';\nimport { NonCancelableEventHandler } from '../internal/events';\n\nexport interface S3ResourceSelectorProps extends BaseComponentProps {\n /**\n * Specifies additional information about component status.\n */\n alert?: React.ReactNode;\n\n /**\n * Adds `aria-labelledby` to the component. If you're using this component within a form field,\n * don't set this property because the form field component automatically sets it.\n *\n * Use this property if the component isn't surrounded by a form field, or you want to override the value\n * automatically set by the form field (for example, if you have two components within a single form field).\n *\n * To use it correctly, define an ID for the element you want to use as label and set the property to that ID.\n */\n ariaLabelledby?: string;\n\n /**\n * Adds `aria-describedby` to the component. If you're using this component within a form field,\n * don't set this property because the form field component automatically sets it.\n *\n * Use this property if the component isn't surrounded by a form field, or you want to override the value\n * automatically set by the form field (for example, if you have two components within a single form field).\n *\n * To use it correctly, define an ID for each element that you want to use as a description\n * and set the property to a string of each ID separated by spaces (for example, `\"id1 id2 id3\"`).\n */\n ariaDescribedby?: string;\n\n /**\n * Adds `aria-label` to the component.\n */\n ariaLabel?: string;\n\n /**\n * Adds `aria-labelledby` to the S3 URI input. If you're using this component within a form field,\n * you do not need to set this property, as the form field component will set it automatically.\n *\n * Use this property if the component isn't surrounded by a form field, or you want to override the value\n * automatically set by the form field (for example, if you have two components within a single form field).\n *\n * To use it correctly, define an ID for the element you want to use as label and set the property to that ID.\n */\n inputAriaDescribedby?: string;\n\n /**\n * An array of the item types that are selectable in the table view. The array may contain the following items:\n * 'buckets', 'objects', or 'versions'. Example: ['buckets', 'objects']. By default, no items are selectable.\n * This property determines whether the component operates in Read mode or Write mode:\n * * Read mode - When 'objects' and 'versions' values are provided (folder selection should be disabled by\n * customizing `objectsIsItemDisabled` function).\n * * Write mode - When 'buckets' and 'objects' values are provided (file selection should be disabled by\n * customizing `objectsIsItemDisabled` function).\n */\n selectableItemsTypes?: ReadonlyArray<S3ResourceSelectorProps.SelectableItems>;\n\n /**\n * Href of the selected object that is applied to the View button.\n */\n viewHref?: string;\n\n /**\n * Whether the S3 URI input field is in invalid state.\n */\n invalid?: boolean;\n\n /**\n * Optionally overrides the set of visible columns in the Buckets view. Available columns: 'Name', 'CreationDate',\n * and 'Region'.\n */\n bucketsVisibleColumns?: ReadonlyArray<string>;\n\n /**\n * Optionally overrides the set of visible columns in the Objects view. Available columns: 'Key', 'LastModified',\n * and 'Size'.\n */\n objectsVisibleColumns?: ReadonlyArray<string>;\n\n /**\n * Optionally overrides the set of visible columns in the Versions view. Available columns: 'ID', 'CreationDate',\n * and 'Size'.\n */\n versionsVisibleColumns?: ReadonlyArray<string>;\n\n /**\n * Optionally overrides whether a bucket should be disabled for selection in the Buckets view or not.\n * It has higher priority than `selectableItemsTypes`. Example: if `selectableItemsTypes` has `['buckets']` value and\n * `bucketsIsItemDisabled` returns false for a bucket, then the bucket is disabled for selection.\n */\n bucketsIsItemDisabled?: (item: S3ResourceSelectorProps.Bucket) => boolean;\n\n /**\n * Optionally overrides whether an object should be disabled for selection in the Objects view or not. Similar to\n * `bucketsIsItemDisabled` this property takes precedence over the `selectableItemsTypes` property.\n */\n objectsIsItemDisabled?: (item: S3ResourceSelectorProps.Object) => boolean;\n\n /**\n * Optionally overrides whether a version should be disabled for selection in the Versions view or not. Similar to\n * `bucketsIsItemDisabled` this property takes precedence over the `selectableItemsTypes` property.\n */\n versionsIsItemDisabled?: (item: S3ResourceSelectorProps.Version) => boolean;\n\n /**\n * The current selected resource. Resource has the following properties:\n * - `uri` (string) - URI of the resource.\n * - `versionId` (string) - (Optional) Version ID of the selected resource.\n */\n resource: S3ResourceSelectorProps.Resource;\n\n /**\n * An object containing all the necessary localized strings required by the component.\n * @i18n\n */\n i18nStrings?: S3ResourceSelectorProps.I18nStrings;\n\n /**\n * Specifies a function that returns all available buckets. The return type of the function should be a promise\n * that resolves to a list of objects with the following properties:\n * - `Name` (string) - Name of the bucket.\n * - `CreationDate` (string) - (Optional) Creation date of the bucket.\n * - `Region` (string) - (Optional) Region of the bucket.\n */\n fetchBuckets: () => Promise<ReadonlyArray<S3ResourceSelectorProps.Bucket>>;\n\n /**\n * Specifies a function that returns available objects and object prefixes for the given `bucketName` and `pathPrefix`.\n * The return type of the function should be a promise that resolves to a list of objects with the following properties:\n * - `Key` (string) - Name of the object or object prefix.\n * - `LastModified` (string) - (Optional) Date when this object was last modified.\n * - `Size` (number) - (Optional) Size of the object.\n * - `IsFolder` (boolean) - (Optional) Determines whether the entry is an object prefix (folder).\n */\n fetchObjects: (bucketName: string, pathPrefix: string) => Promise<ReadonlyArray<S3ResourceSelectorProps.Object>>;\n\n /**\n * Specifies a function that returns available versions for the given `bucketName` and `pathPrefix`.\n * The return type of the function should be a promise that resolves to a list of versions with the following properties:\n * - `VersionId` (string) - Version ID of an object.\n * - `LastModified` (string) - (Optional) Date when this object was last modified.\n * - `Size` (number) - (Optional) Size of the object version.\n */\n fetchVersions: (bucketName: string, pathPrefix: string) => Promise<ReadonlyArray<S3ResourceSelectorProps.Version>>;\n\n /**\n * Fired when the resource selection is changed. The event detail object contains resource that represents the full\n * path of the selected resource and `errorText` that may contain a validation error.\n */\n onChange?: NonCancelableEventHandler<S3ResourceSelectorProps.ChangeDetail>;\n}\n\n// Does not use TableProps.AriaLabels, because here we do not need \"allItemsSelectionLabel\"\n// it is not applicable to single selection mode\ninterface SelectionLabels<T> {\n itemSelectionLabel: (data: TableProps.SelectionState<T>, row: T) => string;\n selectionGroupLabel: string;\n}\n\ntype SortingColumnContainingString = (columnName: string) => string;\n\nexport namespace S3ResourceSelectorProps {\n export interface Bucket {\n Name?: string;\n CreationDate?: string;\n // artificial field, does not exist on the real s3 response\n Region?: string;\n }\n export interface Object {\n Key?: string;\n LastModified?: string;\n Size?: number;\n // artificial field, does not exist on the real s3 response\n IsFolder?: boolean;\n }\n export interface Version {\n VersionId?: string;\n LastModified?: string;\n Size?: number;\n }\n\n export interface Resource {\n uri: string;\n versionId?: string;\n }\n\n export type SelectableItems = 'buckets' | 'objects' | 'versions';\n\n export interface I18nStrings {\n inContextInputPlaceholder?: string;\n inContextInputClearAriaLabel?: string;\n inContextSelectPlaceholder?: string;\n inContextBrowseButton?: string;\n inContextViewButton?: string;\n inContextViewButtonAriaLabel?: string;\n inContextLoadingText?: string;\n inContextUriLabel?: string;\n inContextVersionSelectLabel?: string;\n\n modalTitle?: string;\n modalCancelButton?: string;\n modalSubmitButton?: string;\n modalBreadcrumbRootItem?: string;\n\n selectionBuckets?: string;\n selectionObjects?: string;\n selectionVersions?: string;\n selectionBucketsSearchPlaceholder?: string;\n selectionObjectsSearchPlaceholder?: string;\n selectionVersionsSearchPlaceholder?: string;\n selectionBucketsLoading?: string;\n selectionBucketsNoItems?: string;\n selectionObjectsLoading?: string;\n selectionObjectsNoItems?: string;\n selectionVersionsLoading?: string;\n selectionVersionsNoItems?: string;\n\n filteringCounterText?: (count: number) => string;\n filteringNoMatches?: string;\n filteringCantFindMatch?: string;\n clearFilterButtonText?: string;\n\n columnBucketName?: string;\n columnBucketCreationDate?: string;\n columnBucketRegion?: string;\n columnObjectKey?: string;\n columnObjectLastModified?: string;\n columnObjectSize?: string;\n columnVersionID?: string;\n columnVersionLastModified?: string;\n columnVersionSize?: string;\n\n validationPathMustBegin?: string;\n validationBucketLowerCase?: string;\n validationBucketMustNotContain?: string;\n validationBucketLength?: string;\n validationBucketMustComplyDns?: string;\n\n labelSortedDescending?: SortingColumnContainingString;\n labelSortedAscending?: SortingColumnContainingString;\n labelNotSorted?: SortingColumnContainingString;\n labelsPagination?: PaginationProps.Labels;\n labelsBucketsSelection?: SelectionLabels<Bucket>;\n labelsObjectsSelection?: SelectionLabels<S3ResourceSelectorProps.Object>;\n labelsVersionsSelection?: SelectionLabels<Version>;\n labelFiltering?: (itemsType: string) => string;\n labelRefresh?: string;\n labelModalDismiss?: string;\n labelBreadcrumbs?: string;\n }\n\n export interface ChangeDetail {\n resource: Resource;\n errorText?: string;\n }\n\n export interface Ref {\n /**\n * Focuses the S3 URI input field\n */\n focus(): void;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAU3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAMxD,UAAU,gBAAgB;IACxB,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS,CAAC;IAC7D,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,CAAC;IAC3C,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,oBAAoB,EAAE,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IACtE,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACxD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAClG;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,eAAO,MAAM,WAAW,yFAqHvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAU3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAOxD,UAAU,gBAAgB;IACxB,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS,CAAC;IAC7D,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,CAAC;IAC3C,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,oBAAoB,EAAE,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IACtE,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACxD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAClG;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,eAAO,MAAM,WAAW,yFA4HvB,CAAC"}
@@ -12,7 +12,9 @@ import { validate, getErrorText } from './validation';
12
12
  import styles from './styles.css.js';
13
13
  import { SearchInput } from './search-input';
14
14
  import LiveRegion from '../../internal/components/live-region';
15
+ import { useInternalI18n } from '../../internal/i18n/context';
15
16
  export const S3InContext = React.forwardRef(({ i18nStrings, resource, viewHref, invalid, inputAriaDescribedby, selectableItemsTypes, fetchVersions, onChange, onBrowse, }, ref) => {
17
+ const i18n = useInternalI18n('s3-resource-selector');
16
18
  const isInputBlurredRef = useRef(true);
17
19
  const [isInputTouched, setInputTouched] = useState(false);
18
20
  const { versions, loading, loadVersions, resetVersions } = useVersionsFetch(fetchVersions);
@@ -25,13 +27,13 @@ export const S3InContext = React.forwardRef(({ i18nStrings, resource, viewHref,
25
27
  const uri = event.detail.value;
26
28
  const errorCode = isInputTouched ? validate(uri) : undefined;
27
29
  resetVersions();
28
- onChange({ uri }, getErrorText(i18nStrings, errorCode));
30
+ onChange({ uri }, getErrorText(i18n, i18nStrings, errorCode));
29
31
  }
30
32
  function handleUriBlur() {
31
33
  isInputBlurredRef.current = true;
32
34
  setInputTouched(true);
33
35
  const errorCode = validate(resource.uri);
34
- onChange(resource, getErrorText(i18nStrings, errorCode));
36
+ onChange(resource, getErrorText(i18n, i18nStrings, errorCode));
35
37
  if (supportsVersions) {
36
38
  loadVersions(resource.uri);
37
39
  }
@@ -46,17 +48,17 @@ export const S3InContext = React.forwardRef(({ i18nStrings, resource, viewHref,
46
48
  }, [uri, supportsVersions, loadVersions]);
47
49
  return (React.createElement("div", { className: styles.root },
48
50
  React.createElement("div", { className: styles.layout },
49
- React.createElement(InternalFormField, { className: styles['layout-uri'], label: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextUriLabel, stretch: true },
50
- React.createElement(SearchInput, { ref: inputRef, value: uri, ariaDescribedby: inputAriaDescribedby, clearAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextInputClearAriaLabel, placeholder: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextInputPlaceholder, onChange: handleUriChange, invalid: invalid, onFocus: () => (isInputBlurredRef.current = false), onBlur: handleUriBlur })),
51
- supportsVersions && (React.createElement(InternalFormField, { className: styles['layout-version'], label: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextVersionSelectLabel, stretch: true },
52
- React.createElement(InternalSelect, { selectedOption: selectedVersion, placeholder: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextSelectPlaceholder, disabled: versions.length === 0, options: versions, onChange: event => onChange(Object.assign(Object.assign({}, resource), { versionId: event.detail.selectedOption.value }), undefined), invalid: false }))),
51
+ React.createElement(InternalFormField, { className: styles['layout-uri'], label: i18n('i18nStrings.inContextUriLabel', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextUriLabel), stretch: true },
52
+ React.createElement(SearchInput, { ref: inputRef, value: uri, ariaDescribedby: inputAriaDescribedby, clearAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextInputClearAriaLabel, placeholder: i18n('i18nStrings.inContextInputPlaceholder', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextInputPlaceholder), onChange: handleUriChange, invalid: invalid, onFocus: () => (isInputBlurredRef.current = false), onBlur: handleUriBlur })),
53
+ supportsVersions && (React.createElement(InternalFormField, { className: styles['layout-version'], label: i18n('i18nStrings.inContextVersionSelectLabel', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextVersionSelectLabel), stretch: true },
54
+ React.createElement(InternalSelect, { selectedOption: selectedVersion, placeholder: i18n('i18nStrings.inContextSelectPlaceholder', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextSelectPlaceholder), disabled: versions.length === 0, options: versions, onChange: event => onChange(Object.assign(Object.assign({}, resource), { versionId: event.detail.selectedOption.value }), undefined), invalid: false }))),
53
55
  React.createElement("div", null,
54
- React.createElement(InternalButton, { className: styles['view-button'], disabled: !viewHref, href: viewHref, target: "_blank", iconName: "external", iconAlign: "right", formAction: "none", ariaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextViewButtonAriaLabel }, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextViewButton)),
56
+ React.createElement(InternalButton, { className: styles['view-button'], disabled: !viewHref, href: viewHref, target: "_blank", iconName: "external", iconAlign: "right", formAction: "none", ariaLabel: i18n('i18nStrings.inContextViewButtonAriaLabel', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextViewButtonAriaLabel) }, i18n('i18nStrings.inContextViewButton', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextViewButton))),
55
57
  React.createElement("div", { className: styles['layout-divider'] }),
56
58
  React.createElement("div", null,
57
- React.createElement(InternalButton, { className: styles['browse-button'], disabled: loading, formAction: "none", onClick: onBrowse }, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextBrowseButton))),
59
+ React.createElement(InternalButton, { className: styles['browse-button'], disabled: loading, formAction: "none", onClick: onBrowse }, i18n('i18nStrings.inContextBrowseButton', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextBrowseButton)))),
58
60
  React.createElement("div", { role: "alert", "aria-live": "assertive", "aria-atomic": "true" }, loading && (React.createElement(InternalBox, { margin: { top: 's' } },
59
61
  React.createElement(InternalStatusIndicator, { type: "loading" },
60
- React.createElement(LiveRegion, { visible: true }, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextLoadingText)))))));
62
+ React.createElement(LiveRegion, { visible: true }, i18n('i18nStrings.inContextLoadingText', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.inContextLoadingText))))))));
61
63
  });
62
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useState, useEffect, useRef } from 'react';\nimport InternalBox from '../../box/internal';\nimport { InternalButton } from '../../button/internal';\nimport InternalFormField from '../../form-field/internal';\nimport { InputProps } from '../../input/interfaces';\nimport InternalSelect from '../../select/internal';\nimport InternalStatusIndicator from '../../status-indicator/internal';\nimport { NonCancelableCustomEvent } from '../../internal/events';\nimport useForwardFocus from '../../internal/hooks/forward-focus';\nimport { useVersionsFetch } from './use-versions-fetch';\nimport { S3ResourceSelectorProps } from '../interfaces';\nimport { validate, getErrorText } from './validation';\nimport styles from './styles.css.js';\nimport { SearchInput } from './search-input';\nimport LiveRegion from '../../internal/components/live-region';\n\ninterface S3InContextProps {\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined;\n resource: S3ResourceSelectorProps.Resource;\n viewHref: string | undefined;\n invalid: boolean | undefined;\n inputAriaDescribedby: string | undefined;\n selectableItemsTypes: S3ResourceSelectorProps['selectableItemsTypes'];\n fetchVersions: S3ResourceSelectorProps['fetchVersions'];\n onBrowse: () => void;\n onChange: (newResource: S3ResourceSelectorProps.Resource, errorText: string | undefined) => void;\n}\n\nexport interface S3InContextRef {\n focus(): void;\n}\n\nexport const S3InContext = React.forwardRef(\n (\n {\n i18nStrings,\n resource,\n viewHref,\n invalid,\n inputAriaDescribedby,\n selectableItemsTypes,\n fetchVersions,\n onChange,\n onBrowse,\n }: S3InContextProps,\n ref: React.Ref<S3InContextRef>\n ) => {\n const isInputBlurredRef = useRef(true);\n const [isInputTouched, setInputTouched] = useState(false);\n const { versions, loading, loadVersions, resetVersions } = useVersionsFetch(fetchVersions);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useForwardFocus(ref, inputRef);\n\n const uri = resource.uri;\n const supportsVersions = selectableItemsTypes && selectableItemsTypes.indexOf('versions') > -1;\n const selectedVersion = versions.filter(version => version.value === resource.versionId)[0] || null;\n\n function handleUriChange(event: NonCancelableCustomEvent<InputProps.ChangeDetail>) {\n const uri = event.detail.value;\n const errorCode = isInputTouched ? validate(uri) : undefined;\n resetVersions();\n onChange({ uri }, getErrorText(i18nStrings, errorCode));\n }\n\n function handleUriBlur() {\n isInputBlurredRef.current = true;\n setInputTouched(true);\n const errorCode = validate(resource.uri);\n onChange(resource, getErrorText(i18nStrings, errorCode));\n if (supportsVersions) {\n loadVersions(resource.uri);\n }\n }\n\n useEffect(() => {\n if (!isInputBlurredRef.current || !supportsVersions) {\n return;\n }\n const { cancel } = loadVersions(uri) ?? {};\n return cancel;\n }, [uri, supportsVersions, loadVersions]);\n\n return (\n <div className={styles.root}>\n <div className={styles.layout}>\n <InternalFormField className={styles['layout-uri']} label={i18nStrings?.inContextUriLabel} stretch={true}>\n <SearchInput\n ref={inputRef}\n value={uri}\n ariaDescribedby={inputAriaDescribedby}\n clearAriaLabel={i18nStrings?.inContextInputClearAriaLabel}\n placeholder={i18nStrings?.inContextInputPlaceholder}\n onChange={handleUriChange}\n invalid={invalid}\n onFocus={() => (isInputBlurredRef.current = false)}\n onBlur={handleUriBlur}\n />\n </InternalFormField>\n {supportsVersions && (\n <InternalFormField\n className={styles['layout-version']}\n label={i18nStrings?.inContextVersionSelectLabel}\n stretch={true}\n >\n <InternalSelect\n selectedOption={selectedVersion}\n placeholder={i18nStrings?.inContextSelectPlaceholder}\n disabled={versions.length === 0}\n options={versions}\n onChange={event => onChange({ ...resource, versionId: event.detail.selectedOption.value }, undefined)}\n invalid={false} // invalid state should not highlight the select, only the text input\n />\n </InternalFormField>\n )}\n <div>\n <InternalButton\n className={styles['view-button']}\n disabled={!viewHref}\n href={viewHref}\n target=\"_blank\"\n iconName=\"external\"\n iconAlign=\"right\"\n formAction=\"none\"\n ariaLabel={i18nStrings?.inContextViewButtonAriaLabel}\n >\n {i18nStrings?.inContextViewButton}\n </InternalButton>\n </div>\n <div className={styles['layout-divider']} />\n <div>\n <InternalButton className={styles['browse-button']} disabled={loading} formAction=\"none\" onClick={onBrowse}>\n {i18nStrings?.inContextBrowseButton}\n </InternalButton>\n </div>\n </div>\n\n <div role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\">\n {loading && (\n <InternalBox margin={{ top: 's' }}>\n <InternalStatusIndicator type=\"loading\">\n <LiveRegion visible={true}>{i18nStrings?.inContextLoadingText}</LiveRegion>\n </InternalStatusIndicator>\n </InternalBox>\n )}\n </div>\n </div>\n );\n }\n);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,iBAAiB,MAAM,2BAA2B,CAAC;AAE1D,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,uBAAuB,MAAM,iCAAiC,CAAC;AAEtE,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,UAAU,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAkB9D,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CACzC,CACE,EACE,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,QAAQ,GACS,EACnB,GAA8B,EAC9B,EAAE;IACF,MAAM,IAAI,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC3F,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEhD,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE/B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;IACzB,MAAM,gBAAgB,GAAG,oBAAoB,IAAI,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAEpG,SAAS,eAAe,CAAC,KAAwD;QAC/E,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/B,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,aAAa,EAAE,CAAC;QAChB,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,aAAa;QACpB,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACjC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QAC/D,IAAI,gBAAgB,EAAE;YACpB,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,gBAAgB,EAAE;YACnD,OAAO;SACR;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAA,YAAY,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;IAE1C,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI;QACzB,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM;YAC3B,oBAAC,iBAAiB,IAChB,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,EAC/B,KAAK,EAAE,IAAI,CAAC,+BAA+B,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,iBAAiB,CAAC,EAC5E,OAAO,EAAE,IAAI;gBAEb,oBAAC,WAAW,IACV,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,GAAG,EACV,eAAe,EAAE,oBAAoB,EACrC,cAAc,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,4BAA4B,EACzD,WAAW,EAAE,IAAI,CAAC,uCAAuC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,yBAAyB,CAAC,EAClG,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC,EAClD,MAAM,EAAE,aAAa,GACrB,CACgB;YACnB,gBAAgB,IAAI,CACnB,oBAAC,iBAAiB,IAChB,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,EACnC,KAAK,EAAE,IAAI,CAAC,yCAAyC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,2BAA2B,CAAC,EAChG,OAAO,EAAE,IAAI;gBAEb,oBAAC,cAAc,IACb,cAAc,EAAE,eAAe,EAC/B,WAAW,EAAE,IAAI,CAAC,wCAAwC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,0BAA0B,CAAC,EACpG,QAAQ,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,EAC/B,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,iCAAM,QAAQ,KAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,KAAI,SAAS,CAAC,EACrG,OAAO,EAAE,KAAK,GACd,CACgB,CACrB;YACD;gBACE,oBAAC,cAAc,IACb,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,EAChC,QAAQ,EAAE,CAAC,QAAQ,EACnB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAC,QAAQ,EACf,QAAQ,EAAC,UAAU,EACnB,SAAS,EAAC,OAAO,EACjB,UAAU,EAAC,MAAM,EACjB,SAAS,EAAE,IAAI,CAAC,0CAA0C,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,4BAA4B,CAAC,IAErG,IAAI,CAAC,iCAAiC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,mBAAmB,CAAC,CAC3D,CACb;YACN,6BAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,GAAI;YAC5C;gBACE,oBAAC,cAAc,IAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAC,MAAM,EAAC,OAAO,EAAE,QAAQ,IACvG,IAAI,CAAC,mCAAmC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,qBAAqB,CAAC,CAC/D,CACb,CACF;QAEN,6BAAK,IAAI,EAAC,OAAO,eAAW,WAAW,iBAAa,MAAM,IACvD,OAAO,IAAI,CACV,oBAAC,WAAW,IAAC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;YAC/B,oBAAC,uBAAuB,IAAC,IAAI,EAAC,SAAS;gBACrC,oBAAC,UAAU,IAAC,OAAO,EAAE,IAAI,IACtB,IAAI,CAAC,kCAAkC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,oBAAoB,CAAC,CACjE,CACW,CACd,CACf,CACG,CACF,CACP,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useState, useEffect, useRef } from 'react';\nimport InternalBox from '../../box/internal';\nimport { InternalButton } from '../../button/internal';\nimport InternalFormField from '../../form-field/internal';\nimport { InputProps } from '../../input/interfaces';\nimport InternalSelect from '../../select/internal';\nimport InternalStatusIndicator from '../../status-indicator/internal';\nimport { NonCancelableCustomEvent } from '../../internal/events';\nimport useForwardFocus from '../../internal/hooks/forward-focus';\nimport { useVersionsFetch } from './use-versions-fetch';\nimport { S3ResourceSelectorProps } from '../interfaces';\nimport { validate, getErrorText } from './validation';\nimport styles from './styles.css.js';\nimport { SearchInput } from './search-input';\nimport LiveRegion from '../../internal/components/live-region';\nimport { useInternalI18n } from '../../internal/i18n/context';\n\ninterface S3InContextProps {\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined;\n resource: S3ResourceSelectorProps.Resource;\n viewHref: string | undefined;\n invalid: boolean | undefined;\n inputAriaDescribedby: string | undefined;\n selectableItemsTypes: S3ResourceSelectorProps['selectableItemsTypes'];\n fetchVersions: S3ResourceSelectorProps['fetchVersions'];\n onBrowse: () => void;\n onChange: (newResource: S3ResourceSelectorProps.Resource, errorText: string | undefined) => void;\n}\n\nexport interface S3InContextRef {\n focus(): void;\n}\n\nexport const S3InContext = React.forwardRef(\n (\n {\n i18nStrings,\n resource,\n viewHref,\n invalid,\n inputAriaDescribedby,\n selectableItemsTypes,\n fetchVersions,\n onChange,\n onBrowse,\n }: S3InContextProps,\n ref: React.Ref<S3InContextRef>\n ) => {\n const i18n = useInternalI18n('s3-resource-selector');\n const isInputBlurredRef = useRef(true);\n const [isInputTouched, setInputTouched] = useState(false);\n const { versions, loading, loadVersions, resetVersions } = useVersionsFetch(fetchVersions);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useForwardFocus(ref, inputRef);\n\n const uri = resource.uri;\n const supportsVersions = selectableItemsTypes && selectableItemsTypes.indexOf('versions') > -1;\n const selectedVersion = versions.filter(version => version.value === resource.versionId)[0] || null;\n\n function handleUriChange(event: NonCancelableCustomEvent<InputProps.ChangeDetail>) {\n const uri = event.detail.value;\n const errorCode = isInputTouched ? validate(uri) : undefined;\n resetVersions();\n onChange({ uri }, getErrorText(i18n, i18nStrings, errorCode));\n }\n\n function handleUriBlur() {\n isInputBlurredRef.current = true;\n setInputTouched(true);\n const errorCode = validate(resource.uri);\n onChange(resource, getErrorText(i18n, i18nStrings, errorCode));\n if (supportsVersions) {\n loadVersions(resource.uri);\n }\n }\n\n useEffect(() => {\n if (!isInputBlurredRef.current || !supportsVersions) {\n return;\n }\n const { cancel } = loadVersions(uri) ?? {};\n return cancel;\n }, [uri, supportsVersions, loadVersions]);\n\n return (\n <div className={styles.root}>\n <div className={styles.layout}>\n <InternalFormField\n className={styles['layout-uri']}\n label={i18n('i18nStrings.inContextUriLabel', i18nStrings?.inContextUriLabel)}\n stretch={true}\n >\n <SearchInput\n ref={inputRef}\n value={uri}\n ariaDescribedby={inputAriaDescribedby}\n clearAriaLabel={i18nStrings?.inContextInputClearAriaLabel}\n placeholder={i18n('i18nStrings.inContextInputPlaceholder', i18nStrings?.inContextInputPlaceholder)}\n onChange={handleUriChange}\n invalid={invalid}\n onFocus={() => (isInputBlurredRef.current = false)}\n onBlur={handleUriBlur}\n />\n </InternalFormField>\n {supportsVersions && (\n <InternalFormField\n className={styles['layout-version']}\n label={i18n('i18nStrings.inContextVersionSelectLabel', i18nStrings?.inContextVersionSelectLabel)}\n stretch={true}\n >\n <InternalSelect\n selectedOption={selectedVersion}\n placeholder={i18n('i18nStrings.inContextSelectPlaceholder', i18nStrings?.inContextSelectPlaceholder)}\n disabled={versions.length === 0}\n options={versions}\n onChange={event => onChange({ ...resource, versionId: event.detail.selectedOption.value }, undefined)}\n invalid={false} // invalid state should not highlight the select, only the text input\n />\n </InternalFormField>\n )}\n <div>\n <InternalButton\n className={styles['view-button']}\n disabled={!viewHref}\n href={viewHref}\n target=\"_blank\"\n iconName=\"external\"\n iconAlign=\"right\"\n formAction=\"none\"\n ariaLabel={i18n('i18nStrings.inContextViewButtonAriaLabel', i18nStrings?.inContextViewButtonAriaLabel)}\n >\n {i18n('i18nStrings.inContextViewButton', i18nStrings?.inContextViewButton)}\n </InternalButton>\n </div>\n <div className={styles['layout-divider']} />\n <div>\n <InternalButton className={styles['browse-button']} disabled={loading} formAction=\"none\" onClick={onBrowse}>\n {i18n('i18nStrings.inContextBrowseButton', i18nStrings?.inContextBrowseButton)}\n </InternalButton>\n </div>\n </div>\n\n <div role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\">\n {loading && (\n <InternalBox margin={{ top: 's' }}>\n <InternalStatusIndicator type=\"loading\">\n <LiveRegion visible={true}>\n {i18n('i18nStrings.inContextLoadingText', i18nStrings?.inContextLoadingText)}\n </LiveRegion>\n </InternalStatusIndicator>\n </InternalBox>\n )}\n </div>\n </div>\n );\n }\n);\n"]}
@@ -1,5 +1,6 @@
1
+ import { ComponentFormatFunction } from '../../internal/i18n/context';
1
2
  import { S3ResourceSelectorProps } from '../interfaces';
2
3
  export declare function extractBucketName(uri: string): string[];
3
4
  export declare function validate(uri: string): "validationPathMustBegin" | "validationBucketLowerCase" | "validationBucketMustNotContain" | "validationBucketLength" | "validationBucketMustComplyDns" | undefined;
4
- export declare function getErrorText(i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined, errorCode: ReturnType<typeof validate>): string | undefined;
5
+ export declare function getErrorText(i18n: ComponentFormatFunction, i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined, errorCode: ReturnType<typeof validate>): string | undefined;
5
6
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAYxD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,YAG5C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,uKAqBnC;AAED,wBAAgB,YAAY,CAC1B,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS,EAC5D,SAAS,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,sBAGvC"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAYxD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,YAG5C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,uKAqBnC;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,uBAAuB,EAC7B,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS,EAC5D,SAAS,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,sBAGvC"}
@@ -32,7 +32,7 @@ export function validate(uri) {
32
32
  }
33
33
  return undefined;
34
34
  }
35
- export function getErrorText(i18nStrings, errorCode) {
36
- return errorCode ? i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings[errorCode] : undefined;
35
+ export function getErrorText(i18n, i18nStrings, errorCode) {
36
+ return errorCode ? i18n(`i18nStrings.${errorCode}`, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings[errorCode]) : undefined;
37
37
  }
38
38
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/validation.ts"],"names":[],"mappings":"AAIA,+EAA+E;AAC/E,MAAM,MAAM,GAAG,OAAO,CAAC;AACvB,MAAM,iBAAiB,GAAG,cAAc,CAAC;AACzC,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,QAAQ,GAAG,mFAAmF,CAAC;AAErG,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,IAAI,GAAG,KAAK,EAAE,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE;QAC1C,OAAO,yBAAkC,CAAC;KAC3C;IACD,MAAM,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACvC,OAAO,2BAAoC,CAAC;KAC7C;IACD,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACnC,OAAO,gCAAyC,CAAC;KAClD;IACD,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE;QACtC,OAAO,wBAAiC,CAAC;KAC1C;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QAC9B,OAAO,+BAAwC,CAAC;KACjD;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,WAA4D,EAC5D,SAAsC;IAEtC,OAAO,SAAS,CAAC,CAAC,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { S3ResourceSelectorProps } from '../interfaces';\n\n// https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html\nconst SCHEME = 's3://';\nconst BUCKET_FIRST_CHAR = /^[a-z0-9]{1}/;\nconst CAPITAL_LETTER = /[A-Z]/;\nconst DNS_NAME = /^(([a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])\\.)*([a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])$/;\n\nfunction checkBucketNameLength(bucketName: string) {\n return 3 <= bucketName.length && bucketName.length <= 63;\n}\n\nexport function extractBucketName(uri: string) {\n const [bucketName, ...rest] = uri.replace(SCHEME, '').split('/');\n return [bucketName, rest.join('/')];\n}\n\nexport function validate(uri: string) {\n if (uri === '') {\n return undefined;\n }\n if (uri.slice(0, SCHEME.length) !== SCHEME) {\n return 'validationPathMustBegin' as const;\n }\n const [bucketName] = extractBucketName(uri);\n if (!BUCKET_FIRST_CHAR.test(bucketName)) {\n return 'validationBucketLowerCase' as const;\n }\n if (CAPITAL_LETTER.test(bucketName)) {\n return 'validationBucketMustNotContain' as const;\n }\n if (!checkBucketNameLength(bucketName)) {\n return 'validationBucketLength' as const;\n }\n if (!DNS_NAME.test(bucketName)) {\n return 'validationBucketMustComplyDns' as const;\n }\n return undefined;\n}\n\nexport function getErrorText(\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined,\n errorCode: ReturnType<typeof validate>\n) {\n return errorCode ? i18nStrings?.[errorCode] : undefined;\n}\n"]}
1
+ {"version":3,"file":"validation.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-in-context/validation.ts"],"names":[],"mappings":"AAKA,+EAA+E;AAC/E,MAAM,MAAM,GAAG,OAAO,CAAC;AACvB,MAAM,iBAAiB,GAAG,cAAc,CAAC;AACzC,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,QAAQ,GAAG,mFAAmF,CAAC;AAErG,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,IAAI,GAAG,KAAK,EAAE,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE;QAC1C,OAAO,yBAAkC,CAAC;KAC3C;IACD,MAAM,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACvC,OAAO,2BAAoC,CAAC;KAC7C;IACD,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACnC,OAAO,gCAAyC,CAAC;KAClD;IACD,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE;QACtC,OAAO,wBAAiC,CAAC;KAC1C;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QAC9B,OAAO,+BAAwC,CAAC;KACjD;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,IAA6B,EAC7B,WAA4D,EAC5D,SAAsC;IAEtC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5F,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ComponentFormatFunction } from '../../internal/i18n/context';\nimport { S3ResourceSelectorProps } from '../interfaces';\n\n// https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html\nconst SCHEME = 's3://';\nconst BUCKET_FIRST_CHAR = /^[a-z0-9]{1}/;\nconst CAPITAL_LETTER = /[A-Z]/;\nconst DNS_NAME = /^(([a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])\\.)*([a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])$/;\n\nfunction checkBucketNameLength(bucketName: string) {\n return 3 <= bucketName.length && bucketName.length <= 63;\n}\n\nexport function extractBucketName(uri: string) {\n const [bucketName, ...rest] = uri.replace(SCHEME, '').split('/');\n return [bucketName, rest.join('/')];\n}\n\nexport function validate(uri: string) {\n if (uri === '') {\n return undefined;\n }\n if (uri.slice(0, SCHEME.length) !== SCHEME) {\n return 'validationPathMustBegin' as const;\n }\n const [bucketName] = extractBucketName(uri);\n if (!BUCKET_FIRST_CHAR.test(bucketName)) {\n return 'validationBucketLowerCase' as const;\n }\n if (CAPITAL_LETTER.test(bucketName)) {\n return 'validationBucketMustNotContain' as const;\n }\n if (!checkBucketNameLength(bucketName)) {\n return 'validationBucketLength' as const;\n }\n if (!DNS_NAME.test(bucketName)) {\n return 'validationBucketMustComplyDns' as const;\n }\n return undefined;\n}\n\nexport function getErrorText(\n i18n: ComponentFormatFunction,\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined,\n errorCode: ReturnType<typeof validate>\n) {\n return errorCode ? i18n(`i18nStrings.${errorCode}`, i18nStrings?.[errorCode]) : undefined;\n}\n"]}
@@ -3,6 +3,7 @@ import { PaginationProps } from '../../pagination/interfaces';
3
3
  import { TableProps } from '../../table/interfaces';
4
4
  import { ForwardFocusRef } from '../../internal/hooks/forward-focus';
5
5
  import { S3ResourceSelectorProps } from '../interfaces';
6
+ import { ComponentFormatFunction } from '../../internal/i18n/context';
6
7
  interface BasicS3TableStrings<T> {
7
8
  labelRefresh?: string;
8
9
  labelsPagination?: PaginationProps.Labels;
@@ -28,7 +29,7 @@ interface BasicS3TableProps<T> {
28
29
  isItemDisabled: TableProps.IsItemDisabled<T> | undefined;
29
30
  onSelect: (item: T | undefined) => void;
30
31
  }
31
- export declare function getSharedI18Strings(i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined): {
32
+ export declare function getSharedI18Strings(i18n: ComponentFormatFunction, i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined): {
32
33
  filteringCounterText: ((count: number) => string) | undefined;
33
34
  labelRefresh: string | undefined;
34
35
  labelsPagination: PaginationProps.Labels | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"basic-table.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/basic-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,OAAwB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGxD,UAAU,mBAAmB,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,uBAAuB,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAC5C;AAED,UAAU,iBAAiB,CAAC,CAAC;IAG3B,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5C,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,SAAS,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACzD,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;CACzC;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS;;;;;;;EAS/F;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAC9B,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,WAAgB,EAChB,eAAe,EACf,cAAc,EACd,cAAc,EACd,QAAQ,GACT,EAAE,iBAAiB,CAAC,CAAC,CAAC,eA4FtB"}
1
+ {"version":3,"file":"basic-table.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/basic-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,OAAwB,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,UAAU,mBAAmB,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,uBAAuB,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAC5C;AAED,UAAU,iBAAiB,CAAC,CAAC;IAG3B,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5C,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,SAAS,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACzD,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;CACzC;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,uBAAuB,EAC7B,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS;;;;;;;EAc7D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAC9B,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,WAAgB,EAChB,eAAe,EACf,cAAc,EACd,cAAc,EACd,QAAQ,GACT,EAAE,iBAAiB,CAAC,CAAC,CAAC,eA4FtB"}
@@ -10,14 +10,14 @@ import InternalTextFilter from '../../text-filter/internal';
10
10
  import useForwardFocus from '../../internal/hooks/forward-focus';
11
11
  import { useStableEventHandler } from '../../internal/hooks/use-stable-event-handler';
12
12
  import { EmptyState } from './empty-state';
13
- export function getSharedI18Strings(i18nStrings) {
13
+ export function getSharedI18Strings(i18n, i18nStrings) {
14
14
  return {
15
- filteringCounterText: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filteringCounterText,
16
- labelRefresh: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelRefresh,
15
+ filteringCounterText: i18n('i18nStrings.filteringCounterText', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filteringCounterText, format => count => format({ count })),
16
+ labelRefresh: i18n('i18nStrings.labelRefresh', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelRefresh),
17
17
  labelsPagination: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelsPagination,
18
- noMatchTitle: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filteringNoMatches,
19
- noMatchSubtitle: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filteringCantFindMatch,
20
- clearFilterButtonText: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.clearFilterButtonText,
18
+ noMatchTitle: i18n('i18nStrings.filteringNoMatches', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filteringNoMatches),
19
+ noMatchSubtitle: i18n('i18nStrings.filteringCantFindMatch', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filteringCantFindMatch),
20
+ clearFilterButtonText: i18n('i18nStrings.clearFilterButtonText', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.clearFilterButtonText),
21
21
  };
22
22
  }
23
23
  export function BasicS3Table({ forwardFocusRef, columnDefinitions, fetchData, trackBy, i18nStrings = {}, isVisualRefresh, visibleColumns, isItemDisabled, onSelect, }) {
@@ -59,6 +59,6 @@ export function BasicS3Table({ forwardFocusRef, columnDefinitions, fetchData, tr
59
59
  useEffect(() => {
60
60
  onSelectLatest(selectedItem);
61
61
  }, [selectedItem, onSelectLatest]);
62
- return (React.createElement(InternalTable, Object.assign({ variant: "embedded" }, collectionProps, { header: React.createElement(InternalHeader, { variant: isVisualRefresh ? 'h3' : 'h2', headingTagOverride: 'h3', actions: React.createElement(InternalButton, { iconName: "refresh", ariaLabel: i18nStrings.labelRefresh, onClick: loadData }), counter: selectedItem ? `(1/${allItems.length})` : `(${allItems.length})` }, i18nStrings.header), trackBy: trackBy, filter: React.createElement(InternalTextFilter, Object.assign({}, filterProps, { ref: textFilterRef, filteringAriaLabel: i18nStrings.filteringAriaLabel, filteringPlaceholder: i18nStrings.filteringPlaceholder, countText: i18nStrings.filteringCounterText ? i18nStrings.filteringCounterText(filteredItemsCount) : '' })), pagination: React.createElement(InternalPagination, Object.assign({}, paginationProps, { ariaLabels: i18nStrings.labelsPagination })), selectionType: "single", ariaLabels: i18nStrings.selectionLabels, loading: loading, loadingText: i18nStrings.loadingText, items: items, visibleColumns: visibleColumns, isItemDisabled: isItemDisabled, columnDefinitions: columnDefinitions })));
62
+ return (React.createElement(InternalTable, Object.assign({ variant: isVisualRefresh ? 'borderless' : 'container' }, collectionProps, { header: React.createElement(InternalHeader, { variant: isVisualRefresh ? 'h3' : 'h2', headingTagOverride: 'h3', actions: React.createElement(InternalButton, { iconName: "refresh", ariaLabel: i18nStrings.labelRefresh, onClick: loadData }), counter: selectedItem ? `(1/${allItems.length})` : `(${allItems.length})` }, i18nStrings.header), trackBy: trackBy, filter: React.createElement(InternalTextFilter, Object.assign({}, filterProps, { ref: textFilterRef, filteringAriaLabel: i18nStrings.filteringAriaLabel, filteringPlaceholder: i18nStrings.filteringPlaceholder, countText: i18nStrings.filteringCounterText ? i18nStrings.filteringCounterText(filteredItemsCount) : '' })), pagination: React.createElement(InternalPagination, Object.assign({}, paginationProps, { ariaLabels: i18nStrings.labelsPagination })), selectionType: "single", ariaLabels: i18nStrings.selectionLabels, loading: loading, loadingText: i18nStrings.loadingText, items: items, visibleColumns: visibleColumns, isItemDisabled: isItemDisabled, columnDefinitions: columnDefinitions })));
63
63
  }
64
64
  //# sourceMappingURL=basic-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"basic-table.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/basic-table.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useState, useRef } from 'react';\nimport { useCollection } from '@cloudscape-design/collection-hooks';\nimport { InternalButton } from '../../button/internal';\nimport InternalHeader from '../../header/internal';\nimport { PaginationProps } from '../../pagination/interfaces';\nimport InternalPagination from '../../pagination/internal';\nimport { TableProps } from '../../table/interfaces';\nimport InternalTable from '../../table/internal';\nimport { TextFilterProps } from '../../text-filter/interfaces';\nimport InternalTextFilter from '../../text-filter/internal';\nimport useForwardFocus, { ForwardFocusRef } from '../../internal/hooks/forward-focus';\nimport { useStableEventHandler } from '../../internal/hooks/use-stable-event-handler';\nimport { S3ResourceSelectorProps } from '../interfaces';\nimport { EmptyState } from './empty-state';\n\ninterface BasicS3TableStrings<T> {\n labelRefresh?: string;\n labelsPagination?: PaginationProps.Labels;\n header?: string;\n loadingText?: string;\n filteringPlaceholder?: string;\n filteringAriaLabel?: string;\n filteringCounterText?: S3ResourceSelectorProps.I18nStrings['filteringCounterText'];\n emptyText?: string;\n noMatchTitle?: string;\n noMatchSubtitle?: string;\n clearFilterButtonText?: string;\n selectionLabels?: TableProps.AriaLabels<T>;\n}\n\ninterface BasicS3TableProps<T> {\n // We do not use idiomatic `ref` prop because it does not allow generics.\n // Option 3 from this solution: https://stackoverflow.com/a/58473012/1297743\n forwardFocusRef: React.Ref<ForwardFocusRef>;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>;\n fetchData: () => Promise<ReadonlyArray<T>>;\n trackBy: TableProps.TrackBy<T>;\n i18nStrings: BasicS3TableStrings<T>;\n isVisualRefresh?: boolean;\n visibleColumns: ReadonlyArray<string>;\n isItemDisabled: TableProps.IsItemDisabled<T> | undefined;\n onSelect: (item: T | undefined) => void;\n}\n\nexport function getSharedI18Strings(i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined) {\n return {\n filteringCounterText: i18nStrings?.filteringCounterText,\n labelRefresh: i18nStrings?.labelRefresh,\n labelsPagination: i18nStrings?.labelsPagination,\n noMatchTitle: i18nStrings?.filteringNoMatches,\n noMatchSubtitle: i18nStrings?.filteringCantFindMatch,\n clearFilterButtonText: i18nStrings?.clearFilterButtonText,\n };\n}\n\nexport function BasicS3Table<T>({\n forwardFocusRef,\n columnDefinitions,\n fetchData,\n trackBy,\n i18nStrings = {},\n isVisualRefresh,\n visibleColumns,\n isItemDisabled,\n onSelect,\n}: BasicS3TableProps<T>) {\n const [loading, setLoading] = useState(false);\n const [allItems, setAllItems] = useState<ReadonlyArray<T>>([]);\n const textFilterRef = useRef<TextFilterProps.Ref>(null);\n const onSelectLatest = useStableEventHandler(onSelect);\n\n function loadData() {\n setLoading(true);\n fetchData()\n .then(items => {\n setAllItems(items);\n setLoading(false);\n })\n .catch(() => {\n // error handling should happen on the customer side, outside of this component\n setLoading(false);\n });\n }\n\n useEffect(() => {\n loadData();\n // Data loading is only happening on initial render, or via refresh button\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useForwardFocus(forwardFocusRef, textFilterRef);\n\n const { items, filteredItemsCount, collectionProps, filterProps, paginationProps, actions } = useCollection(\n allItems,\n {\n selection: { trackBy },\n filtering: {\n empty: i18nStrings.emptyText,\n noMatch: (\n <EmptyState\n title={i18nStrings.noMatchTitle}\n subtitle={i18nStrings.noMatchSubtitle}\n action={\n <InternalButton onClick={() => actions.setFiltering('')}>\n {i18nStrings.clearFilterButtonText}\n </InternalButton>\n }\n />\n ),\n },\n pagination: {},\n sorting: {},\n }\n );\n const selectedItem = collectionProps.selectedItems?.[0];\n\n // selectedItem can change internally inside the hook after pagination or filtering\n // useEffect will capture all possible changes\n useEffect(() => {\n onSelectLatest(selectedItem);\n }, [selectedItem, onSelectLatest]);\n\n return (\n <InternalTable<T>\n variant=\"embedded\"\n {...collectionProps}\n header={\n <InternalHeader\n variant={isVisualRefresh ? 'h3' : 'h2'}\n headingTagOverride={'h3'}\n actions={<InternalButton iconName=\"refresh\" ariaLabel={i18nStrings.labelRefresh} onClick={loadData} />}\n counter={selectedItem ? `(1/${allItems.length})` : `(${allItems.length})`}\n >\n {i18nStrings.header}\n </InternalHeader>\n }\n trackBy={trackBy}\n filter={\n <InternalTextFilter\n {...filterProps}\n ref={textFilterRef}\n filteringAriaLabel={i18nStrings.filteringAriaLabel}\n filteringPlaceholder={i18nStrings.filteringPlaceholder}\n countText={i18nStrings.filteringCounterText ? i18nStrings.filteringCounterText(filteredItemsCount!) : ''}\n />\n }\n pagination={<InternalPagination {...paginationProps} ariaLabels={i18nStrings.labelsPagination} />}\n selectionType=\"single\"\n ariaLabels={i18nStrings.selectionLabels}\n loading={loading}\n loadingText={i18nStrings.loadingText}\n items={items}\n visibleColumns={visibleColumns}\n isItemDisabled={isItemDisabled}\n columnDefinitions={columnDefinitions}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"basic-table.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/basic-table.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useState, useRef } from 'react';\nimport { useCollection } from '@cloudscape-design/collection-hooks';\nimport { InternalButton } from '../../button/internal';\nimport InternalHeader from '../../header/internal';\nimport { PaginationProps } from '../../pagination/interfaces';\nimport InternalPagination from '../../pagination/internal';\nimport { TableProps } from '../../table/interfaces';\nimport InternalTable from '../../table/internal';\nimport { TextFilterProps } from '../../text-filter/interfaces';\nimport InternalTextFilter from '../../text-filter/internal';\nimport useForwardFocus, { ForwardFocusRef } from '../../internal/hooks/forward-focus';\nimport { useStableEventHandler } from '../../internal/hooks/use-stable-event-handler';\nimport { S3ResourceSelectorProps } from '../interfaces';\nimport { EmptyState } from './empty-state';\nimport { ComponentFormatFunction } from '../../internal/i18n/context';\n\ninterface BasicS3TableStrings<T> {\n labelRefresh?: string;\n labelsPagination?: PaginationProps.Labels;\n header?: string;\n loadingText?: string;\n filteringPlaceholder?: string;\n filteringAriaLabel?: string;\n filteringCounterText?: S3ResourceSelectorProps.I18nStrings['filteringCounterText'];\n emptyText?: string;\n noMatchTitle?: string;\n noMatchSubtitle?: string;\n clearFilterButtonText?: string;\n selectionLabels?: TableProps.AriaLabels<T>;\n}\n\ninterface BasicS3TableProps<T> {\n // We do not use idiomatic `ref` prop because it does not allow generics.\n // Option 3 from this solution: https://stackoverflow.com/a/58473012/1297743\n forwardFocusRef: React.Ref<ForwardFocusRef>;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>;\n fetchData: () => Promise<ReadonlyArray<T>>;\n trackBy: TableProps.TrackBy<T>;\n i18nStrings: BasicS3TableStrings<T>;\n isVisualRefresh?: boolean;\n visibleColumns: ReadonlyArray<string>;\n isItemDisabled: TableProps.IsItemDisabled<T> | undefined;\n onSelect: (item: T | undefined) => void;\n}\n\nexport function getSharedI18Strings(\n i18n: ComponentFormatFunction,\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined\n) {\n return {\n filteringCounterText: i18n(\n 'i18nStrings.filteringCounterText',\n i18nStrings?.filteringCounterText,\n format => count => format({ count })\n ),\n labelRefresh: i18n('i18nStrings.labelRefresh', i18nStrings?.labelRefresh),\n labelsPagination: i18nStrings?.labelsPagination,\n noMatchTitle: i18n('i18nStrings.filteringNoMatches', i18nStrings?.filteringNoMatches),\n noMatchSubtitle: i18n('i18nStrings.filteringCantFindMatch', i18nStrings?.filteringCantFindMatch),\n clearFilterButtonText: i18n('i18nStrings.clearFilterButtonText', i18nStrings?.clearFilterButtonText),\n };\n}\n\nexport function BasicS3Table<T>({\n forwardFocusRef,\n columnDefinitions,\n fetchData,\n trackBy,\n i18nStrings = {},\n isVisualRefresh,\n visibleColumns,\n isItemDisabled,\n onSelect,\n}: BasicS3TableProps<T>) {\n const [loading, setLoading] = useState(false);\n const [allItems, setAllItems] = useState<ReadonlyArray<T>>([]);\n const textFilterRef = useRef<TextFilterProps.Ref>(null);\n const onSelectLatest = useStableEventHandler(onSelect);\n\n function loadData() {\n setLoading(true);\n fetchData()\n .then(items => {\n setAllItems(items);\n setLoading(false);\n })\n .catch(() => {\n // error handling should happen on the customer side, outside of this component\n setLoading(false);\n });\n }\n\n useEffect(() => {\n loadData();\n // Data loading is only happening on initial render, or via refresh button\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useForwardFocus(forwardFocusRef, textFilterRef);\n\n const { items, filteredItemsCount, collectionProps, filterProps, paginationProps, actions } = useCollection(\n allItems,\n {\n selection: { trackBy },\n filtering: {\n empty: i18nStrings.emptyText,\n noMatch: (\n <EmptyState\n title={i18nStrings.noMatchTitle}\n subtitle={i18nStrings.noMatchSubtitle}\n action={\n <InternalButton onClick={() => actions.setFiltering('')}>\n {i18nStrings.clearFilterButtonText}\n </InternalButton>\n }\n />\n ),\n },\n pagination: {},\n sorting: {},\n }\n );\n const selectedItem = collectionProps.selectedItems?.[0];\n\n // selectedItem can change internally inside the hook after pagination or filtering\n // useEffect will capture all possible changes\n useEffect(() => {\n onSelectLatest(selectedItem);\n }, [selectedItem, onSelectLatest]);\n\n return (\n <InternalTable<T>\n variant={isVisualRefresh ? 'borderless' : 'container'}\n {...collectionProps}\n header={\n <InternalHeader\n variant={isVisualRefresh ? 'h3' : 'h2'}\n headingTagOverride={'h3'}\n actions={<InternalButton iconName=\"refresh\" ariaLabel={i18nStrings.labelRefresh} onClick={loadData} />}\n counter={selectedItem ? `(1/${allItems.length})` : `(${allItems.length})`}\n >\n {i18nStrings.header}\n </InternalHeader>\n }\n trackBy={trackBy}\n filter={\n <InternalTextFilter\n {...filterProps}\n ref={textFilterRef}\n filteringAriaLabel={i18nStrings.filteringAriaLabel}\n filteringPlaceholder={i18nStrings.filteringPlaceholder}\n countText={i18nStrings.filteringCounterText ? i18nStrings.filteringCounterText(filteredItemsCount!) : ''}\n />\n }\n pagination={<InternalPagination {...paginationProps} ariaLabels={i18nStrings.labelsPagination} />}\n selectionType=\"single\"\n ariaLabels={i18nStrings.selectionLabels}\n loading={loading}\n loadingText={i18nStrings.loadingText}\n items={items}\n visibleColumns={visibleColumns}\n isItemDisabled={isItemDisabled}\n columnDefinitions={columnDefinitions}\n />\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"buckets-table.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/buckets-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAKxD,UAAU,iBAAiB;IACzB,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5C,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACtF,oBAAoB,EAAE,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IACtE,SAAS,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACnD,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS,CAAC;IAC7D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,wBAAgB,YAAY,CAAC,EAC3B,eAAe,EACf,WAAW,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,WAAW,EACX,QAAQ,GACT,EAAE,iBAAiB,eAuDnB"}
1
+ {"version":3,"file":"buckets-table.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/buckets-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAMxD,UAAU,iBAAiB;IACzB,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5C,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACtF,oBAAoB,EAAE,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IACtE,SAAS,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACnD,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS,CAAC;IAC7D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,wBAAgB,YAAY,CAAC,EAC3B,eAAe,EACf,WAAW,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,WAAW,EACX,QAAQ,GACT,EAAE,iBAAiB,eAuFnB"}
@@ -5,12 +5,15 @@ import InternalLink from '../../link/internal';
5
5
  import { compareDates, getColumnAriaLabel, includes } from './table-utils';
6
6
  import { formatDefault } from './column-formats';
7
7
  import { BasicS3Table, getSharedI18Strings } from './basic-table';
8
+ import { useInternalI18n } from '../../internal/i18n/context';
8
9
  export function BucketsTable({ forwardFocusRef, i18nStrings, isVisualRefresh, isItemDisabled, selectableItemsTypes, fetchData, visibleColumns, onDrilldown, onSelect, }) {
9
- return (React.createElement(BasicS3Table, { forwardFocusRef: forwardFocusRef, trackBy: "Name", fetchData: fetchData, visibleColumns: visibleColumns, isItemDisabled: isItemDisabled || (() => !includes(selectableItemsTypes, 'buckets')), i18nStrings: Object.assign(Object.assign({}, getSharedI18Strings(i18nStrings)), { header: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBuckets, loadingText: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBucketsLoading, filteringAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelFiltering(i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBuckets), filteringPlaceholder: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBucketsSearchPlaceholder, emptyText: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBucketsNoItems, selectionLabels: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelsBucketsSelection }), isVisualRefresh: isVisualRefresh, columnDefinitions: [
10
+ var _a, _b, _c, _d;
11
+ const i18n = useInternalI18n('s3-resource-selector');
12
+ return (React.createElement(BasicS3Table, { forwardFocusRef: forwardFocusRef, trackBy: "Name", fetchData: fetchData, visibleColumns: visibleColumns, isItemDisabled: isItemDisabled || (() => !includes(selectableItemsTypes, 'buckets')), i18nStrings: Object.assign(Object.assign({}, getSharedI18Strings(i18n, i18nStrings)), { header: i18n('i18nStrings.selectionBuckets', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBuckets), loadingText: i18n('i18nStrings.selectionBucketsLoading', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBucketsLoading), filteringAriaLabel: (_a = i18n('i18nStrings.labelFiltering', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelFiltering, format => itemsType => format({ itemsType }))) === null || _a === void 0 ? void 0 : _a((_b = i18n('i18nStrings.selectionBuckets', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBuckets)) !== null && _b !== void 0 ? _b : ''), filteringPlaceholder: i18n('i18nStrings.selectionBucketsSearchPlaceholder', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBucketsSearchPlaceholder), emptyText: i18n('i18nStrings.selectionBucketsNoItems', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.selectionBucketsNoItems), selectionLabels: Object.assign(Object.assign({}, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelsBucketsSelection), { selectionGroupLabel: i18n('i18nStrings.labelsBucketsSelection.selectionGroupLabel', (_c = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelsBucketsSelection) === null || _c === void 0 ? void 0 : _c.selectionGroupLabel), itemSelectionLabel: i18n('i18nStrings.labelsBucketsSelection.itemSelectionLabel', (_d = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelsBucketsSelection) === null || _d === void 0 ? void 0 : _d.itemSelectionLabel, format => (data, item) => { var _a; return format({ item__Name: (_a = item.Name) !== null && _a !== void 0 ? _a : '' }); }) }) }), isVisualRefresh: isVisualRefresh, columnDefinitions: [
10
13
  {
11
14
  id: 'Name',
12
- header: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketName,
13
- ariaLabel: getColumnAriaLabel(i18nStrings, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketName),
15
+ header: i18n('i18nStrings.columnBucketName', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketName),
16
+ ariaLabel: getColumnAriaLabel(i18n, i18nStrings, i18n('i18nStrings.columnBucketName', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketName)),
14
17
  sortingField: 'Name',
15
18
  cell: item => {
16
19
  const isClickable = includes(selectableItemsTypes, 'objects') || includes(selectableItemsTypes, 'versions');
@@ -20,15 +23,15 @@ export function BucketsTable({ forwardFocusRef, i18nStrings, isVisualRefresh, is
20
23
  },
21
24
  {
22
25
  id: 'CreationDate',
23
- header: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketCreationDate,
24
- ariaLabel: getColumnAriaLabel(i18nStrings, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketCreationDate),
26
+ header: i18n('i18nStrings.columnBucketCreationDate', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketCreationDate),
27
+ ariaLabel: getColumnAriaLabel(i18n, i18nStrings, i18n('i18nStrings.columnBucketCreationDate', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketCreationDate)),
25
28
  sortingComparator: (a, b) => compareDates(a.CreationDate, b.CreationDate),
26
29
  cell: item => formatDefault(item.CreationDate),
27
30
  },
28
31
  {
29
32
  id: 'Region',
30
- header: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketRegion,
31
- ariaLabel: getColumnAriaLabel(i18nStrings, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketRegion),
33
+ header: i18n('i18nStrings.columnBucketRegion', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketRegion),
34
+ ariaLabel: getColumnAriaLabel(i18n, i18nStrings, i18n('i18nStrings.columnBucketRegion', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.columnBucketRegion)),
32
35
  sortingField: 'Region',
33
36
  cell: item => formatDefault(item.Region),
34
37
  minWidth: '150px',
@@ -1 +1 @@
1
- {"version":3,"file":"buckets-table.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/buckets-table.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport InternalLink from '../../link/internal';\nimport { TableProps } from '../../table/interfaces';\nimport { ForwardFocusRef } from '../../internal/hooks/forward-focus';\nimport { S3ResourceSelectorProps } from '../interfaces';\nimport { compareDates, getColumnAriaLabel, includes } from './table-utils';\nimport { formatDefault } from './column-formats';\nimport { BasicS3Table, getSharedI18Strings } from './basic-table';\n\ninterface BucketsTableProps {\n forwardFocusRef: React.Ref<ForwardFocusRef>;\n visibleColumns: ReadonlyArray<string>;\n isItemDisabled: TableProps.IsItemDisabled<S3ResourceSelectorProps.Bucket> | undefined;\n selectableItemsTypes: S3ResourceSelectorProps['selectableItemsTypes'];\n fetchData: S3ResourceSelectorProps['fetchBuckets'];\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined;\n isVisualRefresh?: boolean;\n onDrilldown: (path: string) => void;\n onSelect: (uri: string) => void;\n}\n\nexport function BucketsTable({\n forwardFocusRef,\n i18nStrings,\n isVisualRefresh,\n isItemDisabled,\n selectableItemsTypes,\n fetchData,\n visibleColumns,\n onDrilldown,\n onSelect,\n}: BucketsTableProps) {\n return (\n <BasicS3Table<S3ResourceSelectorProps.Bucket>\n forwardFocusRef={forwardFocusRef}\n trackBy=\"Name\"\n fetchData={fetchData}\n visibleColumns={visibleColumns}\n isItemDisabled={isItemDisabled || (() => !includes(selectableItemsTypes, 'buckets'))}\n i18nStrings={{\n ...getSharedI18Strings(i18nStrings),\n header: i18nStrings?.selectionBuckets,\n loadingText: i18nStrings?.selectionBucketsLoading,\n filteringAriaLabel: i18nStrings?.labelFiltering(i18nStrings?.selectionBuckets),\n filteringPlaceholder: i18nStrings?.selectionBucketsSearchPlaceholder,\n emptyText: i18nStrings?.selectionBucketsNoItems,\n selectionLabels: i18nStrings?.labelsBucketsSelection,\n }}\n isVisualRefresh={isVisualRefresh}\n columnDefinitions={[\n {\n id: 'Name',\n header: i18nStrings?.columnBucketName,\n ariaLabel: getColumnAriaLabel(i18nStrings, i18nStrings?.columnBucketName),\n sortingField: 'Name',\n cell: item => {\n const isClickable = includes(selectableItemsTypes, 'objects') || includes(selectableItemsTypes, 'versions');\n return isClickable ? (\n <InternalLink onFollow={() => item.Name && onDrilldown(item.Name)} variant=\"link\">\n {item.Name}\n </InternalLink>\n ) : (\n item.Name\n );\n },\n minWidth: '250px',\n },\n {\n id: 'CreationDate',\n header: i18nStrings?.columnBucketCreationDate,\n ariaLabel: getColumnAriaLabel(i18nStrings, i18nStrings?.columnBucketCreationDate),\n sortingComparator: (a, b) => compareDates(a.CreationDate, b.CreationDate),\n cell: item => formatDefault(item.CreationDate),\n },\n {\n id: 'Region',\n header: i18nStrings?.columnBucketRegion,\n ariaLabel: getColumnAriaLabel(i18nStrings, i18nStrings?.columnBucketRegion),\n sortingField: 'Region',\n cell: item => formatDefault(item.Region),\n minWidth: '150px',\n },\n ]}\n onSelect={item => onSelect(item?.Name ?? '')}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"buckets-table.js","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/buckets-table.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport InternalLink from '../../link/internal';\nimport { TableProps } from '../../table/interfaces';\nimport { ForwardFocusRef } from '../../internal/hooks/forward-focus';\nimport { S3ResourceSelectorProps } from '../interfaces';\nimport { compareDates, getColumnAriaLabel, includes } from './table-utils';\nimport { formatDefault } from './column-formats';\nimport { BasicS3Table, getSharedI18Strings } from './basic-table';\nimport { useInternalI18n } from '../../internal/i18n/context';\n\ninterface BucketsTableProps {\n forwardFocusRef: React.Ref<ForwardFocusRef>;\n visibleColumns: ReadonlyArray<string>;\n isItemDisabled: TableProps.IsItemDisabled<S3ResourceSelectorProps.Bucket> | undefined;\n selectableItemsTypes: S3ResourceSelectorProps['selectableItemsTypes'];\n fetchData: S3ResourceSelectorProps['fetchBuckets'];\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined;\n isVisualRefresh?: boolean;\n onDrilldown: (path: string) => void;\n onSelect: (uri: string) => void;\n}\n\nexport function BucketsTable({\n forwardFocusRef,\n i18nStrings,\n isVisualRefresh,\n isItemDisabled,\n selectableItemsTypes,\n fetchData,\n visibleColumns,\n onDrilldown,\n onSelect,\n}: BucketsTableProps) {\n const i18n = useInternalI18n('s3-resource-selector');\n\n return (\n <BasicS3Table<S3ResourceSelectorProps.Bucket>\n forwardFocusRef={forwardFocusRef}\n trackBy=\"Name\"\n fetchData={fetchData}\n visibleColumns={visibleColumns}\n isItemDisabled={isItemDisabled || (() => !includes(selectableItemsTypes, 'buckets'))}\n i18nStrings={{\n ...getSharedI18Strings(i18n, i18nStrings),\n header: i18n('i18nStrings.selectionBuckets', i18nStrings?.selectionBuckets),\n loadingText: i18n('i18nStrings.selectionBucketsLoading', i18nStrings?.selectionBucketsLoading),\n filteringAriaLabel: i18n(\n 'i18nStrings.labelFiltering',\n i18nStrings?.labelFiltering,\n format => itemsType => format({ itemsType })\n )?.(i18n('i18nStrings.selectionBuckets', i18nStrings?.selectionBuckets) ?? ''),\n filteringPlaceholder: i18n(\n 'i18nStrings.selectionBucketsSearchPlaceholder',\n i18nStrings?.selectionBucketsSearchPlaceholder\n ),\n emptyText: i18n('i18nStrings.selectionBucketsNoItems', i18nStrings?.selectionBucketsNoItems),\n selectionLabels: {\n ...i18nStrings?.labelsBucketsSelection,\n selectionGroupLabel: i18n(\n 'i18nStrings.labelsBucketsSelection.selectionGroupLabel',\n i18nStrings?.labelsBucketsSelection?.selectionGroupLabel\n ),\n itemSelectionLabel: i18n(\n 'i18nStrings.labelsBucketsSelection.itemSelectionLabel',\n i18nStrings?.labelsBucketsSelection?.itemSelectionLabel,\n format => (data, item) => format({ item__Name: item.Name ?? '' })\n ),\n },\n }}\n isVisualRefresh={isVisualRefresh}\n columnDefinitions={[\n {\n id: 'Name',\n header: i18n('i18nStrings.columnBucketName', i18nStrings?.columnBucketName),\n ariaLabel: getColumnAriaLabel(\n i18n,\n i18nStrings,\n i18n('i18nStrings.columnBucketName', i18nStrings?.columnBucketName)\n ),\n sortingField: 'Name',\n cell: item => {\n const isClickable = includes(selectableItemsTypes, 'objects') || includes(selectableItemsTypes, 'versions');\n return isClickable ? (\n <InternalLink onFollow={() => item.Name && onDrilldown(item.Name)} variant=\"link\">\n {item.Name}\n </InternalLink>\n ) : (\n item.Name\n );\n },\n minWidth: '250px',\n },\n {\n id: 'CreationDate',\n header: i18n('i18nStrings.columnBucketCreationDate', i18nStrings?.columnBucketCreationDate),\n ariaLabel: getColumnAriaLabel(\n i18n,\n i18nStrings,\n i18n('i18nStrings.columnBucketCreationDate', i18nStrings?.columnBucketCreationDate)\n ),\n sortingComparator: (a, b) => compareDates(a.CreationDate, b.CreationDate),\n cell: item => formatDefault(item.CreationDate),\n },\n {\n id: 'Region',\n header: i18n('i18nStrings.columnBucketRegion', i18nStrings?.columnBucketRegion),\n ariaLabel: getColumnAriaLabel(\n i18n,\n i18nStrings,\n i18n('i18nStrings.columnBucketRegion', i18nStrings?.columnBucketRegion)\n ),\n sortingField: 'Region',\n cell: item => formatDefault(item.Region),\n minWidth: '150px',\n },\n ]}\n onSelect={item => onSelect(item?.Name ?? '')}\n />\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAQlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAOxD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,oBAAoB,EAAE,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IACtE,YAAY,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACtD,qBAAqB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,qBAAqB,EAAE,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;IACxE,YAAY,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACtD,qBAAqB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,qBAAqB,EAAE,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;IACxE,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACxD,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,sBAAsB,EAAE,uBAAuB,CAAC,wBAAwB,CAAC,CAAC;IAC1E,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS,CAAC;IAC7D,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,KAAK,IAAI,CAAC;CAChE;AA2DD,wBAAgB,OAAO,CAAC,EACtB,WAAW,EACX,KAAK,EACL,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,SAAS,GACV,EAAE,YAAY,eAoHd"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["s3-resource-selector/s3-modal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAQlD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAQxD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,oBAAoB,EAAE,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IACtE,YAAY,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACtD,qBAAqB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,qBAAqB,EAAE,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;IACxE,YAAY,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACtD,qBAAqB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,qBAAqB,EAAE,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;IACxE,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACxD,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,sBAAsB,EAAE,uBAAuB,CAAC,wBAAwB,CAAC,CAAC;IAC1E,WAAW,EAAE,uBAAuB,CAAC,WAAW,GAAG,SAAS,CAAC;IAC7D,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,KAAK,IAAI,CAAC;CAChE;AA2DD,wBAAgB,OAAO,CAAC,EACtB,WAAW,EACX,KAAK,EACL,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,SAAS,GACV,EAAE,YAAY,eAqHd"}