@cloudscape-design/components 3.0.27 → 3.0.30

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 (313) hide show
  1. package/alert/internal.d.ts.map +1 -1
  2. package/alert/internal.js +3 -4
  3. package/alert/internal.js.map +1 -1
  4. package/app-layout/index.js +1 -1
  5. package/app-layout/index.js.map +1 -1
  6. package/app-layout/visual-refresh/styles.css.js +59 -59
  7. package/app-layout/visual-refresh/styles.scoped.css +146 -146
  8. package/app-layout/visual-refresh/styles.selectors.js +59 -59
  9. package/autosuggest/controller.d.ts +1 -4
  10. package/autosuggest/controller.d.ts.map +1 -1
  11. package/autosuggest/controller.js +1 -45
  12. package/autosuggest/controller.js.map +1 -1
  13. package/autosuggest/internal.d.ts.map +1 -1
  14. package/autosuggest/internal.js +16 -23
  15. package/autosuggest/internal.js.map +1 -1
  16. package/autosuggest/options-controller.d.ts +22 -0
  17. package/autosuggest/options-controller.d.ts.map +1 -0
  18. package/autosuggest/options-controller.js +63 -0
  19. package/autosuggest/options-controller.js.map +1 -0
  20. package/autosuggest/options-list.d.ts.map +1 -1
  21. package/autosuggest/options-list.js +2 -1
  22. package/autosuggest/options-list.js.map +1 -1
  23. package/breadcrumb-group/internal.d.ts.map +1 -1
  24. package/breadcrumb-group/internal.js +4 -4
  25. package/breadcrumb-group/internal.js.map +1 -1
  26. package/button-dropdown/category-elements/category-element.d.ts +1 -1
  27. package/button-dropdown/category-elements/category-element.d.ts.map +1 -1
  28. package/button-dropdown/category-elements/category-element.js +2 -2
  29. package/button-dropdown/category-elements/category-element.js.map +1 -1
  30. package/button-dropdown/category-elements/expandable-category-element.d.ts +1 -1
  31. package/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
  32. package/button-dropdown/category-elements/expandable-category-element.js +4 -2
  33. package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  34. package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts +1 -1
  35. package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts.map +1 -1
  36. package/button-dropdown/category-elements/mobile-expandable-category-element.js +4 -2
  37. package/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  38. package/button-dropdown/category-elements/styles.css.js +13 -12
  39. package/button-dropdown/category-elements/styles.scoped.css +26 -22
  40. package/button-dropdown/category-elements/styles.selectors.js +13 -12
  41. package/button-dropdown/interfaces.d.ts +3 -1
  42. package/button-dropdown/interfaces.d.ts.map +1 -1
  43. package/button-dropdown/interfaces.js.map +1 -1
  44. package/button-dropdown/internal.d.ts.map +1 -1
  45. package/button-dropdown/internal.js +6 -11
  46. package/button-dropdown/internal.js.map +1 -1
  47. package/button-dropdown/item-element/index.d.ts +1 -1
  48. package/button-dropdown/item-element/index.d.ts.map +1 -1
  49. package/button-dropdown/item-element/index.js +2 -1
  50. package/button-dropdown/item-element/index.js.map +1 -1
  51. package/button-dropdown/item-element/styles.css.js +14 -13
  52. package/button-dropdown/item-element/styles.scoped.css +21 -17
  53. package/button-dropdown/item-element/styles.selectors.js +14 -13
  54. package/button-dropdown/items-list.d.ts +1 -1
  55. package/button-dropdown/items-list.d.ts.map +1 -1
  56. package/button-dropdown/items-list.js +4 -4
  57. package/button-dropdown/items-list.js.map +1 -1
  58. package/button-dropdown/utils/use-button-dropdown.d.ts +2 -2
  59. package/button-dropdown/utils/use-button-dropdown.d.ts.map +1 -1
  60. package/button-dropdown/utils/use-button-dropdown.js +7 -5
  61. package/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  62. package/button-dropdown/utils/use-highlighted-menu.d.ts +1 -0
  63. package/button-dropdown/utils/use-highlighted-menu.d.ts.map +1 -1
  64. package/button-dropdown/utils/use-highlighted-menu.js +11 -3
  65. package/button-dropdown/utils/use-highlighted-menu.js.map +1 -1
  66. package/cards/index.js +1 -1
  67. package/cards/index.js.map +1 -1
  68. package/checkbox/styles.css.js +3 -3
  69. package/checkbox/styles.scoped.css +6 -6
  70. package/checkbox/styles.selectors.js +3 -3
  71. package/code-editor/index.d.ts.map +1 -1
  72. package/code-editor/index.js +2 -3
  73. package/code-editor/index.js.map +1 -1
  74. package/container/internal.js +1 -1
  75. package/container/internal.js.map +1 -1
  76. package/container/use-sticky-header.js +1 -1
  77. package/container/use-sticky-header.js.map +1 -1
  78. package/date-picker/calendar/index.d.ts.map +1 -1
  79. package/date-picker/calendar/index.js +2 -1
  80. package/date-picker/calendar/index.js.map +1 -1
  81. package/date-picker/calendar/utils/memoized-date.d.ts +2 -0
  82. package/date-picker/calendar/utils/memoized-date.d.ts.map +1 -0
  83. package/date-picker/calendar/utils/memoized-date.js +13 -0
  84. package/date-picker/calendar/utils/memoized-date.js.map +1 -0
  85. package/date-picker/embedded.js +1 -1
  86. package/date-picker/embedded.js.map +1 -1
  87. package/date-picker/index.js +1 -1
  88. package/date-picker/index.js.map +1 -1
  89. package/date-picker/use-date-picker.d.ts.map +1 -1
  90. package/date-picker/use-date-picker.js +1 -1
  91. package/date-picker/use-date-picker.js.map +1 -1
  92. package/date-range-picker/calendar/grids/day/index.js +1 -1
  93. package/date-range-picker/calendar/grids/day/index.js.map +1 -1
  94. package/date-range-picker/calendar/index.d.ts.map +1 -1
  95. package/date-range-picker/calendar/index.js +3 -3
  96. package/date-range-picker/calendar/index.js.map +1 -1
  97. package/date-range-picker/dropdown.d.ts +1 -0
  98. package/date-range-picker/dropdown.d.ts.map +1 -1
  99. package/date-range-picker/dropdown.js +18 -30
  100. package/date-range-picker/dropdown.js.map +1 -1
  101. package/date-range-picker/embedded.d.ts +7 -0
  102. package/date-range-picker/embedded.d.ts.map +1 -0
  103. package/date-range-picker/embedded.js +46 -0
  104. package/date-range-picker/embedded.js.map +1 -0
  105. package/date-range-picker/index.d.ts.map +1 -1
  106. package/date-range-picker/index.js +5 -18
  107. package/date-range-picker/index.js.map +1 -1
  108. package/date-range-picker/interfaces.d.ts +46 -44
  109. package/date-range-picker/interfaces.d.ts.map +1 -1
  110. package/date-range-picker/interfaces.js.map +1 -1
  111. package/date-range-picker/time-offset.d.ts +0 -7
  112. package/date-range-picker/time-offset.d.ts.map +1 -1
  113. package/date-range-picker/time-offset.js +4 -60
  114. package/date-range-picker/time-offset.js.map +1 -1
  115. package/date-range-picker/use-date-range-picker.d.ts +29 -0
  116. package/date-range-picker/use-date-range-picker.d.ts.map +1 -0
  117. package/date-range-picker/use-date-range-picker.js +58 -0
  118. package/date-range-picker/use-date-range-picker.js.map +1 -0
  119. package/flashbar/index.js +1 -1
  120. package/flashbar/index.js.map +1 -1
  121. package/form-field/internal.d.ts.map +1 -1
  122. package/form-field/internal.js +3 -6
  123. package/form-field/internal.js.map +1 -1
  124. package/header/internal.d.ts.map +1 -1
  125. package/header/internal.js +3 -6
  126. package/header/internal.js.map +1 -1
  127. package/icon/icons.js +1 -1
  128. package/icon/interfaces.d.ts +1 -1
  129. package/icon/interfaces.d.ts.map +1 -1
  130. package/icon/interfaces.js.map +1 -1
  131. package/icon/internal.js +1 -1
  132. package/icon/internal.js.map +1 -1
  133. package/input/styles.css.js +13 -13
  134. package/input/styles.scoped.css +35 -37
  135. package/input/styles.selectors.js +13 -13
  136. package/internal/components/abstract-switch/index.d.ts.map +1 -1
  137. package/internal/components/abstract-switch/index.js +5 -5
  138. package/internal/components/abstract-switch/index.js.map +1 -1
  139. package/internal/components/abstract-switch/styles.css.js +11 -11
  140. package/internal/components/abstract-switch/styles.scoped.css +20 -13
  141. package/internal/components/abstract-switch/styles.selectors.js +11 -11
  142. package/internal/components/checkbox-icon/index.d.ts.map +1 -1
  143. package/internal/components/checkbox-icon/index.js +3 -4
  144. package/internal/components/checkbox-icon/index.js.map +1 -1
  145. package/internal/components/content-layout/index.d.ts.map +1 -1
  146. package/internal/components/content-layout/index.js +3 -4
  147. package/internal/components/content-layout/index.js.map +1 -1
  148. package/internal/components/date-input/index.d.ts.map +1 -1
  149. package/internal/components/date-input/index.js +3 -2
  150. package/internal/components/date-input/index.js.map +1 -1
  151. package/internal/components/dropdown/index.js +1 -1
  152. package/internal/components/dropdown/index.js.map +1 -1
  153. package/internal/components/masked-input/utils/mask-format.d.ts.map +1 -1
  154. package/internal/components/masked-input/utils/mask-format.js +2 -1
  155. package/internal/components/masked-input/utils/mask-format.js.map +1 -1
  156. package/internal/components/masked-input/utils/strings.d.ts +0 -1
  157. package/internal/components/masked-input/utils/strings.d.ts.map +1 -1
  158. package/internal/components/masked-input/utils/strings.js +0 -6
  159. package/internal/components/masked-input/utils/strings.js.map +1 -1
  160. package/internal/environment.js +1 -1
  161. package/internal/hooks/use-mutation-observer/index.d.ts +5 -0
  162. package/internal/hooks/use-mutation-observer/index.d.ts.map +1 -1
  163. package/internal/hooks/use-mutation-observer/index.js +5 -0
  164. package/internal/hooks/use-mutation-observer/index.js.map +1 -1
  165. package/internal/hooks/use-portal-mode-classes/index.js +1 -1
  166. package/internal/hooks/use-portal-mode-classes/index.js.map +1 -1
  167. package/internal/hooks/use-singleton-handler/index.d.ts +2 -1
  168. package/internal/hooks/use-singleton-handler/index.d.ts.map +1 -1
  169. package/internal/hooks/use-singleton-handler/index.js.map +1 -1
  170. package/internal/hooks/use-visual-mode/index.d.ts +1 -1
  171. package/internal/hooks/use-visual-mode/index.d.ts.map +1 -1
  172. package/internal/hooks/use-visual-mode/index.js +16 -11
  173. package/internal/hooks/use-visual-mode/index.js.map +1 -1
  174. package/internal/utils/date-time/display-format.d.ts +9 -0
  175. package/internal/utils/date-time/display-format.d.ts.map +1 -0
  176. package/internal/utils/date-time/display-format.js +15 -0
  177. package/internal/utils/date-time/display-format.js.map +1 -0
  178. package/internal/utils/date-time/format-date.d.ts +7 -0
  179. package/internal/utils/date-time/format-date.d.ts.map +1 -0
  180. package/internal/utils/date-time/format-date.js +15 -0
  181. package/internal/utils/date-time/format-date.js.map +1 -0
  182. package/internal/utils/date-time/format-time.d.ts +5 -0
  183. package/internal/utils/date-time/format-time.d.ts.map +1 -0
  184. package/internal/utils/date-time/format-time.js +13 -0
  185. package/internal/utils/date-time/format-time.js.map +1 -0
  186. package/internal/utils/date-time/format-timezone-offset.d.ts +2 -0
  187. package/internal/utils/date-time/format-timezone-offset.d.ts.map +1 -0
  188. package/internal/utils/date-time/format-timezone-offset.js +11 -0
  189. package/internal/utils/date-time/format-timezone-offset.js.map +1 -0
  190. package/internal/utils/date-time/get-browser-timezone-offset.d.ts +7 -0
  191. package/internal/utils/date-time/get-browser-timezone-offset.d.ts.map +1 -0
  192. package/internal/utils/date-time/get-browser-timezone-offset.js +11 -0
  193. package/internal/utils/date-time/get-browser-timezone-offset.js.map +1 -0
  194. package/internal/utils/date-time/index.d.ts +11 -0
  195. package/internal/utils/date-time/index.d.ts.map +1 -0
  196. package/internal/utils/date-time/index.js +13 -0
  197. package/internal/utils/date-time/index.js.map +1 -0
  198. package/internal/utils/date-time/is-iso-date-only.d.ts +5 -0
  199. package/internal/utils/date-time/is-iso-date-only.d.ts.map +1 -0
  200. package/internal/utils/date-time/is-iso-date-only.js +10 -0
  201. package/internal/utils/date-time/is-iso-date-only.js.map +1 -0
  202. package/internal/utils/date-time/join-date-time.d.ts +2 -0
  203. package/internal/utils/date-time/join-date-time.d.ts.map +1 -0
  204. package/internal/utils/date-time/join-date-time.js +6 -0
  205. package/internal/utils/date-time/join-date-time.js.map +1 -0
  206. package/internal/utils/date-time/parse-date.d.ts +8 -0
  207. package/internal/utils/date-time/parse-date.d.ts.map +1 -0
  208. package/internal/utils/date-time/parse-date.js +16 -0
  209. package/internal/utils/date-time/parse-date.js.map +1 -0
  210. package/internal/utils/date-time/parse-timezone-offset.d.ts +5 -0
  211. package/internal/utils/date-time/parse-timezone-offset.d.ts.map +1 -0
  212. package/internal/utils/date-time/parse-timezone-offset.js +20 -0
  213. package/internal/utils/date-time/parse-timezone-offset.js.map +1 -0
  214. package/internal/utils/date-time/shift-timezone-offset.d.ts +12 -0
  215. package/internal/utils/date-time/shift-timezone-offset.d.ts.map +1 -0
  216. package/internal/utils/date-time/shift-timezone-offset.js +27 -0
  217. package/internal/utils/date-time/shift-timezone-offset.js.map +1 -0
  218. package/internal/utils/strings/index.d.ts +3 -0
  219. package/internal/utils/strings/index.d.ts.map +1 -0
  220. package/internal/utils/strings/index.js +5 -0
  221. package/internal/utils/strings/index.js.map +1 -0
  222. package/internal/utils/strings/join-strings.d.ts +5 -0
  223. package/internal/utils/strings/join-strings.d.ts.map +1 -0
  224. package/internal/utils/{strings.js → strings/join-strings.js} +7 -6
  225. package/internal/utils/strings/join-strings.js.map +1 -0
  226. package/internal/utils/strings/pad-left-zeros.d.ts +5 -0
  227. package/internal/utils/strings/pad-left-zeros.d.ts.map +1 -0
  228. package/internal/utils/strings/pad-left-zeros.js +12 -0
  229. package/internal/utils/strings/pad-left-zeros.js.map +1 -0
  230. package/link/internal.js +3 -3
  231. package/link/internal.js.map +1 -1
  232. package/link/styles.css.js +19 -18
  233. package/link/styles.scoped.css +73 -69
  234. package/link/styles.selectors.js +19 -18
  235. package/mixed-line-bar-chart/bar-series.d.ts.map +1 -1
  236. package/mixed-line-bar-chart/bar-series.js +3 -4
  237. package/mixed-line-bar-chart/bar-series.js.map +1 -1
  238. package/mixed-line-bar-chart/chart-container.js +1 -1
  239. package/mixed-line-bar-chart/chart-container.js.map +1 -1
  240. package/mixed-line-bar-chart/interfaces.d.ts +5 -4
  241. package/mixed-line-bar-chart/interfaces.d.ts.map +1 -1
  242. package/mixed-line-bar-chart/interfaces.js.map +1 -1
  243. package/modal/internal.js +1 -1
  244. package/modal/internal.js.map +1 -1
  245. package/package.json +1 -1
  246. package/pie-chart/pie-chart.d.ts.map +1 -1
  247. package/pie-chart/pie-chart.js +2 -2
  248. package/pie-chart/pie-chart.js.map +1 -1
  249. package/pie-chart/segments.d.ts +1 -2
  250. package/pie-chart/segments.d.ts.map +1 -1
  251. package/pie-chart/segments.js +2 -2
  252. package/pie-chart/segments.js.map +1 -1
  253. package/popover/container.js +1 -1
  254. package/popover/container.js.map +1 -1
  255. package/popover/styles.css.js +48 -48
  256. package/popover/styles.scoped.css +65 -60
  257. package/popover/styles.selectors.js +48 -48
  258. package/property-filter/index.d.ts.map +1 -1
  259. package/property-filter/index.js +10 -2
  260. package/property-filter/index.js.map +1 -1
  261. package/radio-group/radio-button.d.ts.map +1 -1
  262. package/radio-group/radio-button.js +3 -4
  263. package/radio-group/radio-button.js.map +1 -1
  264. package/radio-group/styles.css.js +9 -9
  265. package/radio-group/styles.scoped.css +16 -16
  266. package/radio-group/styles.selectors.js +9 -9
  267. package/s3-resource-selector/s3-modal/index.d.ts.map +1 -1
  268. package/s3-resource-selector/s3-modal/index.js +2 -3
  269. package/s3-resource-selector/s3-modal/index.js.map +1 -1
  270. package/split-panel/index.d.ts.map +1 -1
  271. package/split-panel/index.js +2 -2
  272. package/split-panel/index.js.map +1 -1
  273. package/table/internal.js +1 -1
  274. package/table/internal.js.map +1 -1
  275. package/table/sticky-scrollbar.js +1 -1
  276. package/table/sticky-scrollbar.js.map +1 -1
  277. package/table/styles.css.js +32 -32
  278. package/table/styles.scoped.css +40 -43
  279. package/table/styles.selectors.js +32 -32
  280. package/tabs/styles.css.js +21 -21
  281. package/tabs/styles.scoped.css +40 -43
  282. package/tabs/styles.selectors.js +21 -21
  283. package/tabs/tab-header-bar.js +1 -1
  284. package/tabs/tab-header-bar.js.map +1 -1
  285. package/textarea/styles.css.js +4 -4
  286. package/textarea/styles.scoped.css +13 -14
  287. package/textarea/styles.selectors.js +4 -4
  288. package/toggle/internal.d.ts.map +1 -1
  289. package/toggle/internal.js +3 -1
  290. package/toggle/internal.js.map +1 -1
  291. package/toggle/styles.css.js +8 -8
  292. package/toggle/styles.scoped.css +15 -14
  293. package/toggle/styles.selectors.js +8 -8
  294. package/tutorial-panel/components/tutorial-detail-view/index.d.ts.map +1 -1
  295. package/tutorial-panel/components/tutorial-detail-view/index.js +3 -4
  296. package/tutorial-panel/components/tutorial-detail-view/index.js.map +1 -1
  297. package/tutorial-panel/components/tutorial-list/index.d.ts.map +1 -1
  298. package/tutorial-panel/components/tutorial-list/index.js +5 -7
  299. package/tutorial-panel/components/tutorial-list/index.js.map +1 -1
  300. package/wizard/index.d.ts.map +1 -1
  301. package/wizard/index.js +2 -3
  302. package/wizard/index.js.map +1 -1
  303. package/date-picker/calendar/utils/date.d.ts +0 -10
  304. package/date-picker/calendar/utils/date.d.ts.map +0 -1
  305. package/date-picker/calendar/utils/date.js +0 -50
  306. package/date-picker/calendar/utils/date.js.map +0 -1
  307. package/internal/components/date-input/utils/date.d.ts +0 -5
  308. package/internal/components/date-input/utils/date.d.ts.map +0 -1
  309. package/internal/components/date-input/utils/date.js +0 -11
  310. package/internal/components/date-input/utils/date.js.map +0 -1
  311. package/internal/utils/strings.d.ts +0 -2
  312. package/internal/utils/strings.d.ts.map +0 -1
  313. package/internal/utils/strings.js.map +0 -1
@@ -2,53 +2,53 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "arrow": "awsui_arrow_xjuzf_jcb5h_185",
6
- "arrow-outer": "awsui_arrow-outer_xjuzf_jcb5h_189",
7
- "arrow-inner": "awsui_arrow-inner_xjuzf_jcb5h_189",
8
- "arrow-position-right-top": "awsui_arrow-position-right-top_xjuzf_jcb5h_220",
9
- "arrow-position-right-bottom": "awsui_arrow-position-right-bottom_xjuzf_jcb5h_220",
10
- "arrow-position-left-top": "awsui_arrow-position-left-top_xjuzf_jcb5h_223",
11
- "arrow-position-left-bottom": "awsui_arrow-position-left-bottom_xjuzf_jcb5h_223",
12
- "arrow-position-top-center": "awsui_arrow-position-top-center_xjuzf_jcb5h_226",
13
- "arrow-position-top-right": "awsui_arrow-position-top-right_xjuzf_jcb5h_226",
14
- "arrow-position-top-left": "awsui_arrow-position-top-left_xjuzf_jcb5h_226",
15
- "arrow-position-top-responsive": "awsui_arrow-position-top-responsive_xjuzf_jcb5h_226",
16
- "arrow-position-bottom-center": "awsui_arrow-position-bottom-center_xjuzf_jcb5h_229",
17
- "arrow-position-bottom-right": "awsui_arrow-position-bottom-right_xjuzf_jcb5h_229",
18
- "arrow-position-bottom-left": "awsui_arrow-position-bottom-left_xjuzf_jcb5h_229",
19
- "arrow-position-bottom-responsive": "awsui_arrow-position-bottom-responsive_xjuzf_jcb5h_229",
20
- "body": "awsui_body_xjuzf_jcb5h_325",
21
- "body-overflow-visible": "awsui_body-overflow-visible_xjuzf_jcb5h_344",
22
- "variant-annotation": "awsui_variant-annotation_xjuzf_jcb5h_348",
23
- "body-size-small": "awsui_body-size-small_xjuzf_jcb5h_353",
24
- "fixed-width": "awsui_fixed-width_xjuzf_jcb5h_356",
25
- "body-size-medium": "awsui_body-size-medium_xjuzf_jcb5h_360",
26
- "body-size-large": "awsui_body-size-large_xjuzf_jcb5h_367",
27
- "has-dismiss": "awsui_has-dismiss_xjuzf_jcb5h_374",
28
- "dismiss": "awsui_dismiss_xjuzf_jcb5h_379",
29
- "dismiss-control": "awsui_dismiss-control_xjuzf_jcb5h_386",
30
- "header-row": "awsui_header-row_xjuzf_jcb5h_390",
31
- "header": "awsui_header_xjuzf_jcb5h_390",
32
- "content": "awsui_content_xjuzf_jcb5h_412",
33
- "content-overflow-visible": "awsui_content-overflow-visible_xjuzf_jcb5h_419",
34
- "container": "awsui_container_xjuzf_jcb5h_431",
35
- "container-arrow": "awsui_container-arrow_xjuzf_jcb5h_439",
36
- "container-arrow-position-right-top": "awsui_container-arrow-position-right-top_xjuzf_jcb5h_443",
37
- "container-arrow-position-right-bottom": "awsui_container-arrow-position-right-bottom_xjuzf_jcb5h_443",
38
- "container-arrow-position-left-top": "awsui_container-arrow-position-left-top_xjuzf_jcb5h_455",
39
- "container-arrow-position-left-bottom": "awsui_container-arrow-position-left-bottom_xjuzf_jcb5h_455",
40
- "container-arrow-position-top-center": "awsui_container-arrow-position-top-center_xjuzf_jcb5h_467",
41
- "container-arrow-position-top-right": "awsui_container-arrow-position-top-right_xjuzf_jcb5h_467",
42
- "container-arrow-position-top-left": "awsui_container-arrow-position-top-left_xjuzf_jcb5h_467",
43
- "container-arrow-position-top-responsive": "awsui_container-arrow-position-top-responsive_xjuzf_jcb5h_467",
44
- "container-arrow-position-bottom-center": "awsui_container-arrow-position-bottom-center_xjuzf_jcb5h_483",
45
- "container-arrow-position-bottom-right": "awsui_container-arrow-position-bottom-right_xjuzf_jcb5h_487",
46
- "container-arrow-position-bottom-left": "awsui_container-arrow-position-bottom-left_xjuzf_jcb5h_491",
47
- "awsui-motion-fade-in": "awsui_awsui-motion-fade-in_xjuzf_jcb5h_1",
48
- "refresh": "awsui_refresh_xjuzf_jcb5h_609",
49
- "root": "awsui_root_xjuzf_jcb5h_631",
50
- "trigger": "awsui_trigger_xjuzf_jcb5h_643",
51
- "trigger-type-text": "awsui_trigger-type-text_xjuzf_jcb5h_650",
52
- "trigger-inner-text": "awsui_trigger-inner-text_xjuzf_jcb5h_679"
5
+ "arrow": "awsui_arrow_xjuzf_1bftv_185",
6
+ "arrow-outer": "awsui_arrow-outer_xjuzf_1bftv_189",
7
+ "arrow-inner": "awsui_arrow-inner_xjuzf_1bftv_189",
8
+ "arrow-position-right-top": "awsui_arrow-position-right-top_xjuzf_1bftv_220",
9
+ "arrow-position-right-bottom": "awsui_arrow-position-right-bottom_xjuzf_1bftv_220",
10
+ "arrow-position-left-top": "awsui_arrow-position-left-top_xjuzf_1bftv_223",
11
+ "arrow-position-left-bottom": "awsui_arrow-position-left-bottom_xjuzf_1bftv_223",
12
+ "arrow-position-top-center": "awsui_arrow-position-top-center_xjuzf_1bftv_226",
13
+ "arrow-position-top-right": "awsui_arrow-position-top-right_xjuzf_1bftv_226",
14
+ "arrow-position-top-left": "awsui_arrow-position-top-left_xjuzf_1bftv_226",
15
+ "arrow-position-top-responsive": "awsui_arrow-position-top-responsive_xjuzf_1bftv_226",
16
+ "arrow-position-bottom-center": "awsui_arrow-position-bottom-center_xjuzf_1bftv_229",
17
+ "arrow-position-bottom-right": "awsui_arrow-position-bottom-right_xjuzf_1bftv_229",
18
+ "arrow-position-bottom-left": "awsui_arrow-position-bottom-left_xjuzf_1bftv_229",
19
+ "arrow-position-bottom-responsive": "awsui_arrow-position-bottom-responsive_xjuzf_1bftv_229",
20
+ "body": "awsui_body_xjuzf_1bftv_325",
21
+ "body-overflow-visible": "awsui_body-overflow-visible_xjuzf_1bftv_344",
22
+ "variant-annotation": "awsui_variant-annotation_xjuzf_1bftv_348",
23
+ "body-size-small": "awsui_body-size-small_xjuzf_1bftv_353",
24
+ "fixed-width": "awsui_fixed-width_xjuzf_1bftv_356",
25
+ "body-size-medium": "awsui_body-size-medium_xjuzf_1bftv_360",
26
+ "body-size-large": "awsui_body-size-large_xjuzf_1bftv_367",
27
+ "has-dismiss": "awsui_has-dismiss_xjuzf_1bftv_379",
28
+ "dismiss": "awsui_dismiss_xjuzf_1bftv_384",
29
+ "dismiss-control": "awsui_dismiss-control_xjuzf_1bftv_391",
30
+ "header-row": "awsui_header-row_xjuzf_1bftv_395",
31
+ "header": "awsui_header_xjuzf_1bftv_395",
32
+ "content": "awsui_content_xjuzf_1bftv_417",
33
+ "content-overflow-visible": "awsui_content-overflow-visible_xjuzf_1bftv_424",
34
+ "container": "awsui_container_xjuzf_1bftv_436",
35
+ "container-arrow": "awsui_container-arrow_xjuzf_1bftv_444",
36
+ "container-arrow-position-right-top": "awsui_container-arrow-position-right-top_xjuzf_1bftv_448",
37
+ "container-arrow-position-right-bottom": "awsui_container-arrow-position-right-bottom_xjuzf_1bftv_448",
38
+ "container-arrow-position-left-top": "awsui_container-arrow-position-left-top_xjuzf_1bftv_460",
39
+ "container-arrow-position-left-bottom": "awsui_container-arrow-position-left-bottom_xjuzf_1bftv_460",
40
+ "container-arrow-position-top-center": "awsui_container-arrow-position-top-center_xjuzf_1bftv_472",
41
+ "container-arrow-position-top-right": "awsui_container-arrow-position-top-right_xjuzf_1bftv_472",
42
+ "container-arrow-position-top-left": "awsui_container-arrow-position-top-left_xjuzf_1bftv_472",
43
+ "container-arrow-position-top-responsive": "awsui_container-arrow-position-top-responsive_xjuzf_1bftv_472",
44
+ "container-arrow-position-bottom-center": "awsui_container-arrow-position-bottom-center_xjuzf_1bftv_488",
45
+ "container-arrow-position-bottom-right": "awsui_container-arrow-position-bottom-right_xjuzf_1bftv_492",
46
+ "container-arrow-position-bottom-left": "awsui_container-arrow-position-bottom-left_xjuzf_1bftv_496",
47
+ "awsui-motion-fade-in": "awsui_awsui-motion-fade-in_xjuzf_1bftv_1",
48
+ "refresh": "awsui_refresh_xjuzf_1bftv_614",
49
+ "root": "awsui_root_xjuzf_1bftv_636",
50
+ "trigger": "awsui_trigger_xjuzf_1bftv_648",
51
+ "trigger-type-text": "awsui_trigger-type-text_xjuzf_1bftv_655",
52
+ "trigger-inner-text": "awsui_trigger-inner-text_xjuzf_1bftv_684"
53
53
  };
54
54
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/property-filter/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAazD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAOnD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,QAAA,MAAM,cAAc,qGAwPnB,CAAC;AAGF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/property-filter/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAazD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAOnD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,QAAA,MAAM,cAAc,qGAiQnB,CAAC;AAGF,eAAe,cAAc,CAAC"}
@@ -14,7 +14,7 @@ import SelectToggle from '../token-group/toggle';
14
14
  import { generateUniqueId } from '../internal/hooks/use-unique-id/index';
15
15
  import { fireNonCancelableEvent } from '../internal/events';
16
16
  import { Token } from './token';
17
- import { getQueryActions, parseText, getAutosuggestOptions } from './controller';
17
+ import { getQueryActions, parseText, getAutosuggestOptions, getAllowedOperators } from './controller';
18
18
  import { useLoadItems } from './use-load-items';
19
19
  import styles from './styles.css.js';
20
20
  import useBaseComponent from '../internal/hooks/use-base-component';
@@ -115,8 +115,16 @@ var PropertyFilter = React.forwardRef(function (_a, ref) {
115
115
  }
116
116
  // stop dropdown from closing
117
117
  event.preventDefault();
118
- var loadMoreDetail = getLoadMoreDetail(parseText(value, filteringProperties, disableFreeTextFiltering), value);
118
+ var parsedText = parseText(value, filteringProperties, disableFreeTextFiltering);
119
+ var loadMoreDetail = getLoadMoreDetail(parsedText, value);
119
120
  fireNonCancelableEvent(onLoadItems, __assign(__assign({}, loadMoreDetail), { firstPage: true, samePage: false }));
121
+ // Insert operator automatically if only one operator is defined for the given property.
122
+ if (parsedText.step === 'operator') {
123
+ var operators = getAllowedOperators(parsedText.property);
124
+ if (value.trim() === parsedText.property.propertyLabel && operators.length === 1) {
125
+ setFilteringText(parsedText.property.propertyLabel + ' ' + operators[0] + ' ');
126
+ }
127
+ }
120
128
  };
121
129
  var _e = useState(false), tokensExpanded = _e[0], setTokensExpanded = _e[1];
122
130
  var toggleExpandedTokens = function () { return setTokensExpanded(!tokensExpanded); };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/property-filter/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 clsx from 'clsx';\nimport React, { useRef, useState, useMemo } from 'react';\n\nimport InternalSpaceBetween from '../space-between/internal';\nimport InternalAutosuggest, { InternalAutosuggestProps } from '../autosuggest/internal';\nimport { InternalButton } from '../button/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { KeyCode } from '../internal/keycode';\nimport SelectToggle from '../token-group/toggle';\nimport { generateUniqueId } from '../internal/hooks/use-unique-id/index';\nimport { fireNonCancelableEvent } from '../internal/events';\n\nimport { PropertyFilterProps } from './interfaces';\nimport { Token } from './token';\nimport { getQueryActions, parseText, getAutosuggestOptions, ParsedText } from './controller';\nimport { useLoadItems } from './use-load-items';\nimport styles from './styles.css.js';\nimport useBaseComponent from '../internal/hooks/use-base-component';\n\nexport { PropertyFilterProps };\n\nconst PropertyFilter = React.forwardRef(\n (\n {\n disabled,\n i18nStrings,\n countText,\n query,\n hideOperations,\n onChange,\n filteringProperties,\n filteringOptions,\n customGroupsText,\n disableFreeTextFiltering = false,\n onLoadItems,\n virtualScroll,\n customControl,\n filteringEmpty,\n filteringLoadingText,\n filteringFinishedText,\n filteringErrorText,\n filteringRecoveryText,\n filteringStatusType,\n asyncProperties,\n tokenLimit,\n expandToViewport,\n ...rest\n }: PropertyFilterProps,\n ref: React.Ref<PropertyFilterProps.Ref>\n ) => {\n const { __internalRootRef } = useBaseComponent('PropertyFilter');\n const inputRef = useRef<HTMLInputElement>(null);\n const preventFocus = useRef<boolean>(false);\n const baseProps = getBaseProps(rest);\n useForwardFocus(ref, inputRef);\n const { tokens, operation } = query;\n const showResults = tokens?.length && !disabled;\n const { addToken, removeToken, setToken, setOperation, removeAllTokens } = getQueryActions(\n query,\n onChange,\n inputRef,\n preventFocus\n );\n const [filteringText, setFilteringText] = useState<string>('');\n const parsedText = parseText(filteringText, filteringProperties, disableFreeTextFiltering);\n const autosuggestOptions = getAutosuggestOptions(\n parsedText,\n filteringOptions,\n filteringProperties,\n customGroupsText,\n i18nStrings\n );\n\n const createToken = (currentText: string) => {\n const parsedText = parseText(currentText, filteringProperties, disableFreeTextFiltering);\n let newToken: PropertyFilterProps.Token;\n switch (parsedText.step) {\n case 'property': {\n newToken = {\n propertyKey: parsedText.property.key,\n operator: parsedText.operator,\n value: parsedText.value,\n };\n break;\n }\n case 'free-text': {\n newToken = {\n operator: parsedText.operator || ':',\n value: parsedText.value,\n };\n break;\n }\n case 'operator': {\n newToken = {\n operator: ':',\n value: currentText,\n };\n break;\n }\n }\n if (disableFreeTextFiltering && !('propertyKey' in newToken)) {\n return;\n }\n addToken(newToken);\n setFilteringText('');\n };\n const ignoreKeyDown = useRef<boolean>(false);\n const handleKeyDown: InternalAutosuggestProps['onKeyDown'] = event => {\n if (filteringText && !ignoreKeyDown.current && event.detail.keyCode === KeyCode.enter) {\n createToken(filteringText);\n }\n };\n const getLoadMoreDetail = (parsedText: ParsedText, filteringText: string) => {\n const loadMoreDetail: {\n filteringProperty: PropertyFilterProps.FilteringProperty | undefined;\n filteringText: string;\n filteringOperator: PropertyFilterProps.ComparisonOperator | undefined;\n } = {\n filteringProperty: undefined,\n filteringText,\n filteringOperator: undefined,\n };\n if (parsedText.step === 'property') {\n loadMoreDetail.filteringProperty = parsedText.property;\n loadMoreDetail.filteringText = parsedText.value;\n loadMoreDetail.filteringOperator = parsedText.operator;\n }\n return loadMoreDetail;\n };\n const loadMoreDetail = getLoadMoreDetail(parsedText, filteringText);\n const inputLoadItemsHandlers = useLoadItems(\n onLoadItems,\n loadMoreDetail.filteringText,\n loadMoreDetail.filteringProperty,\n loadMoreDetail.filteringText,\n loadMoreDetail.filteringOperator\n );\n const asyncProps = {\n empty: filteringEmpty,\n loadingText: filteringLoadingText,\n finishedText: filteringFinishedText,\n errorText: filteringErrorText,\n recoveryText: filteringRecoveryText,\n statusType: filteringStatusType,\n };\n const asyncAutosuggestProps =\n !!filteringText.length || asyncProperties\n ? {\n ...inputLoadItemsHandlers,\n ...asyncProps,\n }\n : {};\n const handleSelected: InternalAutosuggestProps['__onOptionClick'] = event => {\n // The ignoreKeyDown flag makes sure `createToken` routine runs only once. Autosuggest's `onKeyDown` fires,\n // when an item is selected from the list using \"enter\" key.\n ignoreKeyDown.current = true;\n setTimeout(() => {\n ignoreKeyDown.current = false;\n }, 0);\n const { detail: option } = event;\n const value = option.value || '';\n if ('tokenValue' in option) {\n createToken((option as { tokenValue: string }).tokenValue);\n return;\n }\n // create a token from the 'use' option\n if (!('keepOpenOnSelect' in option)) {\n createToken(value);\n return;\n }\n\n // stop dropdown from closing\n event.preventDefault();\n const loadMoreDetail = getLoadMoreDetail(parseText(value, filteringProperties, disableFreeTextFiltering), value);\n fireNonCancelableEvent(onLoadItems, { ...loadMoreDetail, firstPage: true, samePage: false });\n };\n const [tokensExpanded, setTokensExpanded] = useState(false);\n const toggleExpandedTokens = () => setTokensExpanded(!tokensExpanded);\n const hasHiddenOptions = tokenLimit !== undefined && tokens.length > tokenLimit;\n const slicedTokens = hasHiddenOptions && !tokensExpanded ? tokens.slice(0, tokenLimit) : tokens;\n const controlId = useMemo(() => generateUniqueId(), []);\n return (\n <span {...baseProps} className={clsx(baseProps.className, styles.root)} ref={__internalRootRef}>\n <div className={styles['search-field']}>\n {customControl && <div className={styles['custom-control']}>{customControl}</div>}\n <InternalAutosuggest\n virtualScroll={virtualScroll}\n enteredTextLabel={i18nStrings.enteredTextLabel}\n ref={inputRef}\n className={styles.input}\n ariaLabel={i18nStrings.filteringAriaLabel}\n placeholder={i18nStrings.filteringPlaceholder}\n value={filteringText}\n disabled={disabled}\n onKeyDown={handleKeyDown}\n {...autosuggestOptions}\n onChange={event => setFilteringText(event.detail.value)}\n empty={filteringEmpty}\n {...asyncAutosuggestProps}\n expandToViewport={expandToViewport}\n __disableShowAll={true}\n __dropdownWidth={300}\n __onOptionClick={handleSelected}\n __onOpen={e => {\n if (preventFocus.current) {\n e.preventDefault();\n preventFocus.current = false;\n }\n }}\n __hideEnteredTextOption={disableFreeTextFiltering && parsedText.step !== 'property'}\n />\n <span\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className={clsx(styles.results, showResults && styles['results-visible'])}\n >\n {showResults ? countText : ''}\n </span>\n </div>\n {tokens && tokens.length > 0 && (\n <div className={styles.tokens}>\n <InternalSpaceBetween size=\"xs\" direction=\"horizontal\" id={controlId}>\n {slicedTokens.map((token, index) => (\n <Token\n token={token}\n first={index === 0}\n operation={operation}\n key={index}\n removeToken={() => removeToken(index)}\n setToken={(newToken: PropertyFilterProps.Token) => setToken(index, newToken)}\n setOperation={setOperation}\n filteringOptions={filteringOptions}\n filteringProperties={filteringProperties}\n asyncProps={asyncProps}\n onLoadItems={onLoadItems}\n i18nStrings={i18nStrings}\n asyncProperties={asyncProperties}\n hideOperations={hideOperations}\n customGroupsText={customGroupsText}\n disableFreeTextFiltering={disableFreeTextFiltering}\n disabled={disabled}\n expandToViewport={expandToViewport}\n />\n ))}\n {hasHiddenOptions && (\n <div className={styles['toggle-collapsed']}>\n <SelectToggle\n controlId={controlId}\n allHidden={tokenLimit === 0}\n expanded={tokensExpanded}\n numberOfHiddenOptions={tokens.length - slicedTokens.length}\n i18nStrings={{\n limitShowFewer: i18nStrings.tokenLimitShowFewer,\n limitShowMore: i18nStrings.tokenLimitShowMore,\n }}\n onClick={toggleExpandedTokens}\n />\n </div>\n )}\n <div className={styles.separator} />\n <InternalButton onClick={removeAllTokens} className={styles['remove-all']} disabled={disabled}>\n {i18nStrings.clearFiltersText}\n </InternalButton>\n </InternalSpaceBetween>\n </div>\n )}\n </span>\n );\n }\n);\n\napplyDisplayName(PropertyFilter, 'PropertyFilter');\nexport default PropertyFilter;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/property-filter/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 clsx from 'clsx';\nimport React, { useRef, useState, useMemo } from 'react';\n\nimport InternalSpaceBetween from '../space-between/internal';\nimport InternalAutosuggest, { InternalAutosuggestProps } from '../autosuggest/internal';\nimport { InternalButton } from '../button/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { KeyCode } from '../internal/keycode';\nimport SelectToggle from '../token-group/toggle';\nimport { generateUniqueId } from '../internal/hooks/use-unique-id/index';\nimport { fireNonCancelableEvent } from '../internal/events';\n\nimport { PropertyFilterProps } from './interfaces';\nimport { Token } from './token';\nimport { getQueryActions, parseText, getAutosuggestOptions, ParsedText, getAllowedOperators } from './controller';\nimport { useLoadItems } from './use-load-items';\nimport styles from './styles.css.js';\nimport useBaseComponent from '../internal/hooks/use-base-component';\n\nexport { PropertyFilterProps };\n\nconst PropertyFilter = React.forwardRef(\n (\n {\n disabled,\n i18nStrings,\n countText,\n query,\n hideOperations,\n onChange,\n filteringProperties,\n filteringOptions,\n customGroupsText,\n disableFreeTextFiltering = false,\n onLoadItems,\n virtualScroll,\n customControl,\n filteringEmpty,\n filteringLoadingText,\n filteringFinishedText,\n filteringErrorText,\n filteringRecoveryText,\n filteringStatusType,\n asyncProperties,\n tokenLimit,\n expandToViewport,\n ...rest\n }: PropertyFilterProps,\n ref: React.Ref<PropertyFilterProps.Ref>\n ) => {\n const { __internalRootRef } = useBaseComponent('PropertyFilter');\n const inputRef = useRef<HTMLInputElement>(null);\n const preventFocus = useRef<boolean>(false);\n const baseProps = getBaseProps(rest);\n useForwardFocus(ref, inputRef);\n const { tokens, operation } = query;\n const showResults = tokens?.length && !disabled;\n const { addToken, removeToken, setToken, setOperation, removeAllTokens } = getQueryActions(\n query,\n onChange,\n inputRef,\n preventFocus\n );\n const [filteringText, setFilteringText] = useState<string>('');\n const parsedText = parseText(filteringText, filteringProperties, disableFreeTextFiltering);\n const autosuggestOptions = getAutosuggestOptions(\n parsedText,\n filteringOptions,\n filteringProperties,\n customGroupsText,\n i18nStrings\n );\n\n const createToken = (currentText: string) => {\n const parsedText = parseText(currentText, filteringProperties, disableFreeTextFiltering);\n let newToken: PropertyFilterProps.Token;\n switch (parsedText.step) {\n case 'property': {\n newToken = {\n propertyKey: parsedText.property.key,\n operator: parsedText.operator,\n value: parsedText.value,\n };\n break;\n }\n case 'free-text': {\n newToken = {\n operator: parsedText.operator || ':',\n value: parsedText.value,\n };\n break;\n }\n case 'operator': {\n newToken = {\n operator: ':',\n value: currentText,\n };\n break;\n }\n }\n if (disableFreeTextFiltering && !('propertyKey' in newToken)) {\n return;\n }\n addToken(newToken);\n setFilteringText('');\n };\n const ignoreKeyDown = useRef<boolean>(false);\n const handleKeyDown: InternalAutosuggestProps['onKeyDown'] = event => {\n if (filteringText && !ignoreKeyDown.current && event.detail.keyCode === KeyCode.enter) {\n createToken(filteringText);\n }\n };\n const getLoadMoreDetail = (parsedText: ParsedText, filteringText: string) => {\n const loadMoreDetail: {\n filteringProperty: PropertyFilterProps.FilteringProperty | undefined;\n filteringText: string;\n filteringOperator: PropertyFilterProps.ComparisonOperator | undefined;\n } = {\n filteringProperty: undefined,\n filteringText,\n filteringOperator: undefined,\n };\n if (parsedText.step === 'property') {\n loadMoreDetail.filteringProperty = parsedText.property;\n loadMoreDetail.filteringText = parsedText.value;\n loadMoreDetail.filteringOperator = parsedText.operator;\n }\n return loadMoreDetail;\n };\n const loadMoreDetail = getLoadMoreDetail(parsedText, filteringText);\n const inputLoadItemsHandlers = useLoadItems(\n onLoadItems,\n loadMoreDetail.filteringText,\n loadMoreDetail.filteringProperty,\n loadMoreDetail.filteringText,\n loadMoreDetail.filteringOperator\n );\n const asyncProps = {\n empty: filteringEmpty,\n loadingText: filteringLoadingText,\n finishedText: filteringFinishedText,\n errorText: filteringErrorText,\n recoveryText: filteringRecoveryText,\n statusType: filteringStatusType,\n };\n const asyncAutosuggestProps =\n !!filteringText.length || asyncProperties\n ? {\n ...inputLoadItemsHandlers,\n ...asyncProps,\n }\n : {};\n const handleSelected: InternalAutosuggestProps['__onOptionClick'] = event => {\n // The ignoreKeyDown flag makes sure `createToken` routine runs only once. Autosuggest's `onKeyDown` fires,\n // when an item is selected from the list using \"enter\" key.\n ignoreKeyDown.current = true;\n setTimeout(() => {\n ignoreKeyDown.current = false;\n }, 0);\n const { detail: option } = event;\n const value = option.value || '';\n if ('tokenValue' in option) {\n createToken((option as { tokenValue: string }).tokenValue);\n return;\n }\n // create a token from the 'use' option\n if (!('keepOpenOnSelect' in option)) {\n createToken(value);\n return;\n }\n\n // stop dropdown from closing\n event.preventDefault();\n const parsedText = parseText(value, filteringProperties, disableFreeTextFiltering);\n const loadMoreDetail = getLoadMoreDetail(parsedText, value);\n fireNonCancelableEvent(onLoadItems, { ...loadMoreDetail, firstPage: true, samePage: false });\n\n // Insert operator automatically if only one operator is defined for the given property.\n if (parsedText.step === 'operator') {\n const operators = getAllowedOperators(parsedText.property);\n if (value.trim() === parsedText.property.propertyLabel && operators.length === 1) {\n setFilteringText(parsedText.property.propertyLabel + ' ' + operators[0] + ' ');\n }\n }\n };\n const [tokensExpanded, setTokensExpanded] = useState(false);\n const toggleExpandedTokens = () => setTokensExpanded(!tokensExpanded);\n const hasHiddenOptions = tokenLimit !== undefined && tokens.length > tokenLimit;\n const slicedTokens = hasHiddenOptions && !tokensExpanded ? tokens.slice(0, tokenLimit) : tokens;\n const controlId = useMemo(() => generateUniqueId(), []);\n return (\n <span {...baseProps} className={clsx(baseProps.className, styles.root)} ref={__internalRootRef}>\n <div className={styles['search-field']}>\n {customControl && <div className={styles['custom-control']}>{customControl}</div>}\n <InternalAutosuggest\n virtualScroll={virtualScroll}\n enteredTextLabel={i18nStrings.enteredTextLabel}\n ref={inputRef}\n className={styles.input}\n ariaLabel={i18nStrings.filteringAriaLabel}\n placeholder={i18nStrings.filteringPlaceholder}\n value={filteringText}\n disabled={disabled}\n onKeyDown={handleKeyDown}\n {...autosuggestOptions}\n onChange={event => setFilteringText(event.detail.value)}\n empty={filteringEmpty}\n {...asyncAutosuggestProps}\n expandToViewport={expandToViewport}\n __disableShowAll={true}\n __dropdownWidth={300}\n __onOptionClick={handleSelected}\n __onOpen={e => {\n if (preventFocus.current) {\n e.preventDefault();\n preventFocus.current = false;\n }\n }}\n __hideEnteredTextOption={disableFreeTextFiltering && parsedText.step !== 'property'}\n />\n <span\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className={clsx(styles.results, showResults && styles['results-visible'])}\n >\n {showResults ? countText : ''}\n </span>\n </div>\n {tokens && tokens.length > 0 && (\n <div className={styles.tokens}>\n <InternalSpaceBetween size=\"xs\" direction=\"horizontal\" id={controlId}>\n {slicedTokens.map((token, index) => (\n <Token\n token={token}\n first={index === 0}\n operation={operation}\n key={index}\n removeToken={() => removeToken(index)}\n setToken={(newToken: PropertyFilterProps.Token) => setToken(index, newToken)}\n setOperation={setOperation}\n filteringOptions={filteringOptions}\n filteringProperties={filteringProperties}\n asyncProps={asyncProps}\n onLoadItems={onLoadItems}\n i18nStrings={i18nStrings}\n asyncProperties={asyncProperties}\n hideOperations={hideOperations}\n customGroupsText={customGroupsText}\n disableFreeTextFiltering={disableFreeTextFiltering}\n disabled={disabled}\n expandToViewport={expandToViewport}\n />\n ))}\n {hasHiddenOptions && (\n <div className={styles['toggle-collapsed']}>\n <SelectToggle\n controlId={controlId}\n allHidden={tokenLimit === 0}\n expanded={tokensExpanded}\n numberOfHiddenOptions={tokens.length - slicedTokens.length}\n i18nStrings={{\n limitShowFewer: i18nStrings.tokenLimitShowFewer,\n limitShowMore: i18nStrings.tokenLimitShowMore,\n }}\n onClick={toggleExpandedTokens}\n />\n </div>\n )}\n <div className={styles.separator} />\n <InternalButton onClick={removeAllTokens} className={styles['remove-all']} disabled={disabled}>\n {i18nStrings.clearFiltersText}\n </InternalButton>\n </InternalSpaceBetween>\n </div>\n )}\n </span>\n );\n }\n);\n\napplyDisplayName(PropertyFilter, 'PropertyFilter');\nexport default PropertyFilter;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button.d.ts","sourceRoot":"","sources":["../../../src/radio-group/radio-button.tsx"],"names":[],"mappings":"AAKA,OAAO,EAA0B,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,UAAU,gBAAiB,SAAQ,eAAe,CAAC,qBAAqB;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;CACpE;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,IAAI,EACJ,KAAK,EACL,KAAK,EACL,OAAO,EACP,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,EAAE,gBAAgB,eA8ClB"}
1
+ {"version":3,"file":"radio-button.d.ts","sourceRoot":"","sources":["../../../src/radio-group/radio-button.tsx"],"names":[],"mappings":"AAKA,OAAO,EAA0B,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,UAAU,gBAAiB,SAAQ,eAAe,CAAC,qBAAqB;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;CACpE;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,IAAI,EACJ,KAAK,EACL,KAAK,EACL,OAAO,EACP,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,EAAE,gBAAgB,eA6ClB"}
@@ -2,7 +2,7 @@ import { __assign } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import clsx from 'clsx';
5
- import React, { useRef } from 'react';
5
+ import React from 'react';
6
6
  import AbstractSwitch from '../internal/components/abstract-switch';
7
7
  import { fireNonCancelableEvent } from '../internal/events';
8
8
  import { useVisualRefresh } from '../internal/hooks/use-visual-mode';
@@ -10,9 +10,8 @@ import styles from './styles.css.js';
10
10
  export default function RadioButton(_a) {
11
11
  var _b, _c;
12
12
  var name = _a.name, label = _a.label, value = _a.value, checked = _a.checked, withoutLabel = _a.withoutLabel, description = _a.description, disabled = _a.disabled, controlId = _a.controlId, onChange = _a.onChange;
13
- var radioRef = useRef(null);
14
- var isVisualRefresh = useVisualRefresh(radioRef);
15
- return (React.createElement(AbstractSwitch, { className: clsx(styles.radio, description && styles['radio--has-description']), controlClassName: styles['radio-control'], label: label, description: description, disabled: disabled, controlId: controlId, nativeControl: function (nativeControlProps) { return (React.createElement("input", __assign({}, nativeControlProps, { className: styles.input, type: "radio", name: name, value: value, checked: checked, onChange: onChange && (function () { return fireNonCancelableEvent(onChange, { value: value }); }) }))); }, styledControl: React.createElement("svg", { viewBox: "0 0 100 100", focusable: "false", "aria-hidden": "true", ref: radioRef },
13
+ var isVisualRefresh = useVisualRefresh();
14
+ return (React.createElement(AbstractSwitch, { className: clsx(styles.radio, description && styles['radio--has-description']), controlClassName: styles['radio-control'], label: label, description: description, disabled: disabled, controlId: controlId, nativeControl: function (nativeControlProps) { return (React.createElement("input", __assign({}, nativeControlProps, { className: styles.input, type: "radio", name: name, value: value, checked: checked, onChange: onChange && (function () { return fireNonCancelableEvent(onChange, { value: value }); }) }))); }, styledControl: React.createElement("svg", { viewBox: "0 0 100 100", focusable: "false", "aria-hidden": "true" },
16
15
  React.createElement("circle", { className: clsx(styles['styled-circle-border'], (_b = {}, _b[styles['styled-circle-disabled']] = disabled, _b)), strokeWidth: isVisualRefresh ? 12 : 8, cx: 50, cy: 50, r: isVisualRefresh ? 44 : 46 }),
17
16
  React.createElement("circle", { className: clsx(styles['styled-circle-fill'], (_c = {},
18
17
  _c[styles['styled-circle-disabled']] = disabled,
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button.js","sourceRoot":"","sources":["../../../src/radio-group/radio-button.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,cAAc,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAA6B,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AASrC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAUjB;;QATjB,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,KAAK,WAAA,EACL,OAAO,aAAA,EACP,YAAY,kBAAA,EACZ,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,QAAQ,cAAA;IAER,IAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnD,OAAO,CACL,oBAAC,cAAc,IACb,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,IAAI,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAC9E,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC,EACzC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,UAAA,kBAAkB,IAAI,OAAA,CACnC,0CACM,kBAAkB,IACtB,SAAS,EAAE,MAAM,CAAC,KAAK,EACvB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,IAAI,CAAC,cAAM,OAAA,sBAAsB,CAAC,QAAQ,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC,EAA3C,CAA2C,CAAC,IACzE,CACH,EAVoC,CAUpC,EACD,aAAa,EACX,6BAAK,OAAO,EAAC,aAAa,EAAC,SAAS,EAAC,OAAO,iBAAa,MAAM,EAAC,GAAG,EAAE,QAAQ;YAC3E,gCACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,YAAI,GAAC,MAAM,CAAC,wBAAwB,CAAC,IAAG,QAAQ,MAAG,EACjG,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACrC,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAC5B;YACF,gCACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;oBAC1C,GAAC,MAAM,CAAC,wBAAwB,CAAC,IAAG,QAAQ;oBAC5C,GAAC,MAAM,CAAC,uBAAuB,CAAC,IAAG,OAAO;wBAC1C,EACF,WAAW,EAAE,EAAE,EACf,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,CAAC,EAAE,EAAE,GACL,CACE,EAER,YAAY,EAAE,YAAY,GAC1B,CACH,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useRef } from 'react';\nimport AbstractSwitch from '../internal/components/abstract-switch';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { RadioGroupProps } from './interfaces';\nimport styles from './styles.css.js';\n\ninterface RadioButtonProps extends RadioGroupProps.RadioButtonDefinition {\n name: string;\n checked: boolean;\n withoutLabel?: boolean;\n onChange?: NonCancelableEventHandler<RadioGroupProps.ChangeDetail>;\n}\n\nexport default function RadioButton({\n name,\n label,\n value,\n checked,\n withoutLabel,\n description,\n disabled,\n controlId,\n onChange,\n}: RadioButtonProps) {\n const radioRef = useRef(null);\n const isVisualRefresh = useVisualRefresh(radioRef);\n return (\n <AbstractSwitch\n className={clsx(styles.radio, description && styles['radio--has-description'])}\n controlClassName={styles['radio-control']}\n label={label}\n description={description}\n disabled={disabled}\n controlId={controlId}\n nativeControl={nativeControlProps => (\n <input\n {...nativeControlProps}\n className={styles.input}\n type=\"radio\"\n name={name}\n value={value}\n checked={checked}\n onChange={onChange && (() => fireNonCancelableEvent(onChange, { value }))}\n />\n )}\n styledControl={\n <svg viewBox=\"0 0 100 100\" focusable=\"false\" aria-hidden=\"true\" ref={radioRef}>\n <circle\n className={clsx(styles['styled-circle-border'], { [styles['styled-circle-disabled']]: disabled })}\n strokeWidth={isVisualRefresh ? 12 : 8}\n cx={50}\n cy={50}\n r={isVisualRefresh ? 44 : 46}\n />\n <circle\n className={clsx(styles['styled-circle-fill'], {\n [styles['styled-circle-disabled']]: disabled,\n [styles['styled-circle-checked']]: checked,\n })}\n strokeWidth={30}\n cx={50}\n cy={50}\n r={35}\n />\n </svg>\n }\n withoutLabel={withoutLabel}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"radio-button.js","sourceRoot":"","sources":["../../../src/radio-group/radio-button.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAA6B,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AASrC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAUjB;;QATjB,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,KAAK,WAAA,EACL,OAAO,aAAA,EACP,YAAY,kBAAA,EACZ,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,QAAQ,cAAA;IAER,IAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC;IAC3C,OAAO,CACL,oBAAC,cAAc,IACb,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,IAAI,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAC9E,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC,EACzC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,UAAA,kBAAkB,IAAI,OAAA,CACnC,0CACM,kBAAkB,IACtB,SAAS,EAAE,MAAM,CAAC,KAAK,EACvB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,IAAI,CAAC,cAAM,OAAA,sBAAsB,CAAC,QAAQ,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC,EAA3C,CAA2C,CAAC,IACzE,CACH,EAVoC,CAUpC,EACD,aAAa,EACX,6BAAK,OAAO,EAAC,aAAa,EAAC,SAAS,EAAC,OAAO,iBAAa,MAAM;YAC7D,gCACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,YAAI,GAAC,MAAM,CAAC,wBAAwB,CAAC,IAAG,QAAQ,MAAG,EACjG,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACrC,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAC5B;YACF,gCACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;oBAC1C,GAAC,MAAM,CAAC,wBAAwB,CAAC,IAAG,QAAQ;oBAC5C,GAAC,MAAM,CAAC,uBAAuB,CAAC,IAAG,OAAO;wBAC1C,EACF,WAAW,EAAE,EAAE,EACf,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,CAAC,EAAE,EAAE,GACL,CACE,EAER,YAAY,EAAE,YAAY,GAC1B,CACH,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React from 'react';\nimport AbstractSwitch from '../internal/components/abstract-switch';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { RadioGroupProps } from './interfaces';\nimport styles from './styles.css.js';\n\ninterface RadioButtonProps extends RadioGroupProps.RadioButtonDefinition {\n name: string;\n checked: boolean;\n withoutLabel?: boolean;\n onChange?: NonCancelableEventHandler<RadioGroupProps.ChangeDetail>;\n}\n\nexport default function RadioButton({\n name,\n label,\n value,\n checked,\n withoutLabel,\n description,\n disabled,\n controlId,\n onChange,\n}: RadioButtonProps) {\n const isVisualRefresh = useVisualRefresh();\n return (\n <AbstractSwitch\n className={clsx(styles.radio, description && styles['radio--has-description'])}\n controlClassName={styles['radio-control']}\n label={label}\n description={description}\n disabled={disabled}\n controlId={controlId}\n nativeControl={nativeControlProps => (\n <input\n {...nativeControlProps}\n className={styles.input}\n type=\"radio\"\n name={name}\n value={value}\n checked={checked}\n onChange={onChange && (() => fireNonCancelableEvent(onChange, { value }))}\n />\n )}\n styledControl={\n <svg viewBox=\"0 0 100 100\" focusable=\"false\" aria-hidden=\"true\">\n <circle\n className={clsx(styles['styled-circle-border'], { [styles['styled-circle-disabled']]: disabled })}\n strokeWidth={isVisualRefresh ? 12 : 8}\n cx={50}\n cy={50}\n r={isVisualRefresh ? 44 : 46}\n />\n <circle\n className={clsx(styles['styled-circle-fill'], {\n [styles['styled-circle-disabled']]: disabled,\n [styles['styled-circle-checked']]: checked,\n })}\n strokeWidth={30}\n cx={50}\n cy={50}\n r={35}\n />\n </svg>\n }\n withoutLabel={withoutLabel}\n />\n );\n}\n"]}
@@ -1,14 +1,14 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_1mabk_6gh4j_93",
5
- "radio": "awsui_radio_1mabk_6gh4j_105",
6
- "radio--has-description": "awsui_radio--has-description_1mabk_6gh4j_113",
7
- "radio-control": "awsui_radio-control_1mabk_6gh4j_117",
8
- "input": "awsui_input_1mabk_6gh4j_125",
9
- "styled-circle-border": "awsui_styled-circle-border_1mabk_6gh4j_147",
10
- "styled-circle-disabled": "awsui_styled-circle-disabled_1mabk_6gh4j_151",
11
- "styled-circle-fill": "awsui_styled-circle-fill_1mabk_6gh4j_156",
12
- "styled-circle-checked": "awsui_styled-circle-checked_1mabk_6gh4j_162"
4
+ "root": "awsui_root_1mabk_r7q1e_93",
5
+ "radio": "awsui_radio_1mabk_r7q1e_105",
6
+ "radio--has-description": "awsui_radio--has-description_1mabk_r7q1e_113",
7
+ "radio-control": "awsui_radio-control_1mabk_r7q1e_117",
8
+ "input": "awsui_input_1mabk_r7q1e_125",
9
+ "styled-circle-border": "awsui_styled-circle-border_1mabk_r7q1e_147",
10
+ "styled-circle-disabled": "awsui_styled-circle-disabled_1mabk_r7q1e_151",
11
+ "styled-circle-fill": "awsui_styled-circle-fill_1mabk_r7q1e_156",
12
+ "styled-circle-checked": "awsui_styled-circle-checked_1mabk_r7q1e_162"
13
13
  };
14
14
 
@@ -90,7 +90,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
90
90
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
91
91
  SPDX-License-Identifier: Apache-2.0
92
92
  */
93
- .awsui_root_1mabk_6gh4j_93:not(#\9) {
93
+ .awsui_root_1mabk_r7q1e_93:not(#\9) {
94
94
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
95
95
  border-collapse: separate;
96
96
  border-spacing: 0;
@@ -128,19 +128,19 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
128
128
  display: block;
129
129
  }
130
130
 
131
- .awsui_radio_1mabk_6gh4j_105:not(#\9) {
131
+ .awsui_radio_1mabk_r7q1e_105:not(#\9) {
132
132
  /*used in test-utils*/
133
133
  }
134
134
 
135
- .awsui_radio_1mabk_6gh4j_105 + .awsui_radio_1mabk_6gh4j_105:not(#\9) {
135
+ .awsui_radio_1mabk_r7q1e_105 + .awsui_radio_1mabk_r7q1e_105:not(#\9) {
136
136
  margin-top: var(--space-scaled-xxs-95dhkm, 4px);
137
137
  }
138
138
 
139
- .awsui_radio--has-description_1mabk_6gh4j_113 + .awsui_radio_1mabk_6gh4j_105:not(#\9) {
139
+ .awsui_radio--has-description_1mabk_r7q1e_113 + .awsui_radio_1mabk_r7q1e_105:not(#\9) {
140
140
  margin-top: var(--space-scaled-xs-6859qs, 8px);
141
141
  }
142
142
 
143
- .awsui_radio-control_1mabk_6gh4j_117:not(#\9) {
143
+ .awsui_radio-control_1mabk_r7q1e_117:not(#\9) {
144
144
  margin-top: calc((var(--font-body-m-line-height-i7xxvv, 22px) - var(--size-control-n9i4yo, 16px)) / 2);
145
145
  min-height: var(--size-control-n9i4yo, 16px);
146
146
  min-width: var(--size-control-n9i4yo, 16px);
@@ -148,17 +148,17 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
148
148
  width: var(--size-control-n9i4yo, 16px);
149
149
  }
150
150
 
151
- .awsui_input_1mabk_6gh4j_125[data-awsui-focus-visible=true]:not(#\9):focus {
151
+ .awsui_input_1mabk_r7q1e_125[data-awsui-focus-visible=true]:not(#\9):focus {
152
152
  /* stylelint-disable-next-line selector-max-type, @cloudscape-design/no-implicit-descendant */
153
153
  }
154
- .awsui_input_1mabk_6gh4j_125[data-awsui-focus-visible=true]:not(#\9):focus + div {
154
+ .awsui_input_1mabk_r7q1e_125[data-awsui-focus-visible=true]:not(#\9):focus + span {
155
155
  position: relative;
156
156
  }
157
- .awsui_input_1mabk_6gh4j_125[data-awsui-focus-visible=true]:not(#\9):focus + div {
157
+ .awsui_input_1mabk_r7q1e_125[data-awsui-focus-visible=true]:not(#\9):focus + span {
158
158
  outline: 2px dotted transparent;
159
159
  outline-offset: calc(2px - 1px);
160
160
  }
161
- .awsui_input_1mabk_6gh4j_125[data-awsui-focus-visible=true]:not(#\9):focus + div::before {
161
+ .awsui_input_1mabk_r7q1e_125[data-awsui-focus-visible=true]:not(#\9):focus + span::before {
162
162
  content: " ";
163
163
  display: block;
164
164
  position: absolute;
@@ -170,35 +170,35 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
170
170
  box-shadow: 0 0 0 2px var(--color-border-item-focused-ap3b6s, #0972d3);
171
171
  }
172
172
 
173
- .awsui_styled-circle-border_1mabk_6gh4j_147:not(#\9) {
173
+ .awsui_styled-circle-border_1mabk_r7q1e_147:not(#\9) {
174
174
  stroke: var(--color-border-control-default-m3lmsh, #7d8998);
175
175
  fill: var(--color-background-control-default-4pa05r, #ffffff);
176
176
  }
177
- .awsui_styled-circle-border_1mabk_6gh4j_147.awsui_styled-circle-disabled_1mabk_6gh4j_151:not(#\9) {
177
+ .awsui_styled-circle-border_1mabk_r7q1e_147.awsui_styled-circle-disabled_1mabk_r7q1e_151:not(#\9) {
178
178
  fill: var(--color-background-control-disabled-zplipy, #d1d5db);
179
179
  stroke: var(--color-background-control-disabled-zplipy, #d1d5db);
180
180
  }
181
181
 
182
- .awsui_styled-circle-fill_1mabk_6gh4j_156:not(#\9) {
182
+ .awsui_styled-circle-fill_1mabk_r7q1e_156:not(#\9) {
183
183
  stroke: var(--color-background-control-checked-9admlu, #0972d3);
184
184
  fill: var(--color-foreground-control-default-7ajdem, #ffffff);
185
185
  opacity: 0;
186
186
  transition: opacity var(--motion-duration-transition-quick-x85tae, 90ms) var(--motion-easing-transition-quick-lukbd8, linear);
187
187
  }
188
- .awsui_styled-circle-fill_1mabk_6gh4j_156.awsui_styled-circle-checked_1mabk_6gh4j_162:not(#\9) {
188
+ .awsui_styled-circle-fill_1mabk_r7q1e_156.awsui_styled-circle-checked_1mabk_r7q1e_162:not(#\9) {
189
189
  opacity: 1;
190
190
  }
191
- .awsui_styled-circle-fill_1mabk_6gh4j_156.awsui_styled-circle-disabled_1mabk_6gh4j_151:not(#\9) {
191
+ .awsui_styled-circle-fill_1mabk_r7q1e_156.awsui_styled-circle-disabled_1mabk_r7q1e_151:not(#\9) {
192
192
  fill: var(--color-foreground-control-disabled-v6a97u, #ffffff);
193
193
  stroke: var(--color-background-control-disabled-zplipy, #d1d5db);
194
194
  }
195
195
  @media (prefers-reduced-motion: reduce) {
196
- .awsui_styled-circle-fill_1mabk_6gh4j_156:not(#\9) {
196
+ .awsui_styled-circle-fill_1mabk_r7q1e_156:not(#\9) {
197
197
  animation: none;
198
198
  transition: none;
199
199
  }
200
200
  }
201
- .awsui-motion-disabled .awsui_styled-circle-fill_1mabk_6gh4j_156:not(#\9), .awsui-mode-entering .awsui_styled-circle-fill_1mabk_6gh4j_156:not(#\9) {
201
+ .awsui-motion-disabled .awsui_styled-circle-fill_1mabk_r7q1e_156:not(#\9), .awsui-mode-entering .awsui_styled-circle-fill_1mabk_r7q1e_156:not(#\9) {
202
202
  animation: none;
203
203
  transition: none;
204
204
  }
@@ -2,14 +2,14 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "root": "awsui_root_1mabk_6gh4j_93",
6
- "radio": "awsui_radio_1mabk_6gh4j_105",
7
- "radio--has-description": "awsui_radio--has-description_1mabk_6gh4j_113",
8
- "radio-control": "awsui_radio-control_1mabk_6gh4j_117",
9
- "input": "awsui_input_1mabk_6gh4j_125",
10
- "styled-circle-border": "awsui_styled-circle-border_1mabk_6gh4j_147",
11
- "styled-circle-disabled": "awsui_styled-circle-disabled_1mabk_6gh4j_151",
12
- "styled-circle-fill": "awsui_styled-circle-fill_1mabk_6gh4j_156",
13
- "styled-circle-checked": "awsui_styled-circle-checked_1mabk_6gh4j_162"
5
+ "root": "awsui_root_1mabk_r7q1e_93",
6
+ "radio": "awsui_radio_1mabk_r7q1e_105",
7
+ "radio--has-description": "awsui_radio--has-description_1mabk_r7q1e_113",
8
+ "radio-control": "awsui_radio-control_1mabk_r7q1e_117",
9
+ "input": "awsui_input_1mabk_r7q1e_125",
10
+ "styled-circle-border": "awsui_styled-circle-border_1mabk_r7q1e_147",
11
+ "styled-circle-disabled": "awsui_styled-circle-disabled_1mabk_r7q1e_151",
12
+ "styled-circle-fill": "awsui_styled-circle-fill_1mabk_r7q1e_156",
13
+ "styled-circle-checked": "awsui_styled-circle-checked_1mabk_r7q1e_162"
14
14
  };
15
15
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/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,eAqHd"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/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"}
@@ -58,13 +58,12 @@ export function S3Modal(_a) {
58
58
  var i18nStrings = _a.i18nStrings, alert = _a.alert, selectableItemsTypes = _a.selectableItemsTypes, fetchBuckets = _a.fetchBuckets, bucketsVisibleColumns = _a.bucketsVisibleColumns, bucketsIsItemDisabled = _a.bucketsIsItemDisabled, fetchObjects = _a.fetchObjects, objectsVisibleColumns = _a.objectsVisibleColumns, objectsIsItemDisabled = _a.objectsIsItemDisabled, fetchVersions = _a.fetchVersions, versionsVisibleColumns = _a.versionsVisibleColumns, versionsIsItemDisabled = _a.versionsIsItemDisabled, onSubmit = _a.onSubmit, onDismiss = _a.onDismiss;
59
59
  var _d = useReducer(s3BrowseReducer, initialBrowseState), _e = _d[0], currentView = _e.currentView, breadcrumbs = _e.breadcrumbs, selectedItem = _e.selectedItem, dispatch = _d[1];
60
60
  var forwardFocusRef = useRef(null);
61
- var modalWrapperRef = useRef(null);
62
- var isVisualRefresh = useVisualRefresh(modalWrapperRef);
61
+ var isVisualRefresh = useVisualRefresh();
63
62
  useEffectOnUpdate(function () {
64
63
  var _a;
65
64
  (_a = forwardFocusRef.current) === null || _a === void 0 ? void 0 : _a.focus();
66
65
  }, [breadcrumbs]);
67
- return (React.createElement("div", { ref: modalWrapperRef },
66
+ return (React.createElement("div", null,
68
67
  React.createElement(InternalModal, { visible: true, size: "max", closeAriaLabel: (_b = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.labelModalDismiss) !== null && _b !== void 0 ? _b : '', onDismiss: onDismiss, header: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.modalTitle, footer: React.createElement(InternalSpaceBetween, { className: styles['modal-actions'], size: "xs", direction: "horizontal" },
69
68
  React.createElement(InternalButton, { variant: "link", formAction: "none", onClick: onDismiss }, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.modalCancelButton),
70
69
  React.createElement(InternalButton, { variant: "primary", className: styles['submit-button'], disabled: !selectedItem, formAction: "none", onClick: function () { return onSubmit(createResourceInfo({ currentView: currentView, breadcrumbs: breadcrumbs, selectedItem: selectedItem })); } }, i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.modalSubmitButton)) },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/s3-resource-selector/s3-modal/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, { useReducer, useRef } from 'react';\nimport InternalBreadcrumbGroup from '../../breadcrumb-group/internal';\nimport { InternalButton } from '../../button/internal';\nimport InternalModal from '../../modal/internal';\nimport InternalSpaceBetween from '../../space-between/internal';\nimport { ForwardFocusRef } from '../../internal/hooks/forward-focus';\nimport { useEffectOnUpdate } from '../../internal/hooks/use-effect-on-update';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport { S3ResourceSelectorProps } from '../interfaces';\nimport { BucketsTable } from './buckets-table';\nimport { ObjectsTable } from './objects-table';\nimport { VersionsTable } from './versions-table';\nimport styles from './styles.css.js';\nimport { joinObjectPath } from '../utils';\n\nexport interface S3ModalProps {\n alert: React.ReactNode;\n selectableItemsTypes: S3ResourceSelectorProps['selectableItemsTypes'];\n fetchBuckets: S3ResourceSelectorProps['fetchBuckets'];\n bucketsVisibleColumns: ReadonlyArray<string>;\n bucketsIsItemDisabled: S3ResourceSelectorProps['bucketsIsItemDisabled'];\n fetchObjects: S3ResourceSelectorProps['fetchObjects'];\n objectsVisibleColumns: ReadonlyArray<string>;\n objectsIsItemDisabled: S3ResourceSelectorProps['objectsIsItemDisabled'];\n fetchVersions: S3ResourceSelectorProps['fetchVersions'];\n versionsVisibleColumns: ReadonlyArray<string>;\n versionsIsItemDisabled: S3ResourceSelectorProps['versionsIsItemDisabled'];\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined;\n onDismiss: () => void;\n onSubmit: (resource: S3ResourceSelectorProps.Resource) => void;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction assertNever(_value: never) {\n return null;\n}\n\ninterface S3BrowseState {\n selectedItem: string | null;\n currentView: 'buckets' | 'objects' | 'versions';\n breadcrumbs: ReadonlyArray<string>;\n}\n\ntype S3BrowseActions =\n | { type: 'browse-buckets' }\n | { type: 'browse-objects' | 'browse-versions'; breadcrumbs: S3BrowseState['breadcrumbs'] }\n | { type: 'select-item'; item: string };\n\nconst initialBrowseState: S3BrowseState = {\n selectedItem: null,\n currentView: 'buckets',\n breadcrumbs: [],\n};\n\nfunction s3BrowseReducer(state: S3BrowseState, action: S3BrowseActions) {\n switch (action.type) {\n case 'browse-buckets':\n return initialBrowseState;\n case 'browse-objects':\n return {\n selectedItem: null,\n currentView: 'objects' as const,\n breadcrumbs: action.breadcrumbs,\n };\n case 'browse-versions':\n return {\n selectedItem: null,\n currentView: 'versions' as const,\n breadcrumbs: action.breadcrumbs,\n };\n case 'select-item':\n return {\n ...state,\n selectedItem: action.item,\n };\n default:\n assertNever(action);\n }\n return state;\n}\n\nfunction createResourceInfo({ currentView, breadcrumbs, selectedItem }: S3BrowseState) {\n const prefix = 's3://';\n if (currentView === 'versions') {\n return { uri: prefix + joinObjectPath(breadcrumbs), versionId: selectedItem ?? undefined };\n }\n return { uri: prefix + joinObjectPath([...breadcrumbs, selectedItem!]) };\n}\n\nexport function S3Modal({\n i18nStrings,\n alert,\n selectableItemsTypes,\n fetchBuckets,\n bucketsVisibleColumns,\n bucketsIsItemDisabled,\n fetchObjects,\n objectsVisibleColumns,\n objectsIsItemDisabled,\n fetchVersions,\n versionsVisibleColumns,\n versionsIsItemDisabled,\n onSubmit,\n onDismiss,\n}: S3ModalProps) {\n const [{ currentView, breadcrumbs, selectedItem }, dispatch] = useReducer(s3BrowseReducer, initialBrowseState);\n const forwardFocusRef = useRef<ForwardFocusRef>(null);\n\n const modalWrapperRef = useRef(null);\n const isVisualRefresh = useVisualRefresh(modalWrapperRef);\n\n useEffectOnUpdate(() => {\n forwardFocusRef.current?.focus();\n }, [breadcrumbs]);\n\n return (\n <div ref={modalWrapperRef}>\n <InternalModal\n visible={true}\n size=\"max\"\n closeAriaLabel={i18nStrings?.labelModalDismiss ?? ''}\n onDismiss={onDismiss}\n header={i18nStrings?.modalTitle}\n footer={\n <InternalSpaceBetween className={styles['modal-actions']} size=\"xs\" direction=\"horizontal\">\n <InternalButton variant=\"link\" formAction=\"none\" onClick={onDismiss}>\n {i18nStrings?.modalCancelButton}\n </InternalButton>\n <InternalButton\n variant=\"primary\"\n className={styles['submit-button']}\n disabled={!selectedItem}\n formAction=\"none\"\n onClick={() => onSubmit(createResourceInfo({ currentView, breadcrumbs, selectedItem }))}\n >\n {i18nStrings?.modalSubmitButton}\n </InternalButton>\n </InternalSpaceBetween>\n }\n >\n <InternalSpaceBetween size={isVisualRefresh ? 'xxs' : 'xs'}>\n <InternalBreadcrumbGroup\n ariaLabel={i18nStrings?.labelBreadcrumbs}\n expandAriaLabel=\"Show path\"\n onFollow={event => {\n event.preventDefault();\n event.detail.item.meta.onClick();\n }}\n items={[\n {\n text: i18nStrings?.modalBreadcrumbRootItem ?? '',\n href: '',\n meta: { onClick: () => dispatch({ type: 'browse-buckets' }) },\n },\n ...breadcrumbs.map((segment, index) => ({\n text: segment,\n href: '',\n meta: {\n onClick: () =>\n dispatch({\n type: 'browse-objects',\n breadcrumbs: breadcrumbs.slice(0, index + 1),\n }),\n },\n })),\n ]}\n />\n {alert}\n {currentView === 'buckets' ? (\n <BucketsTable\n forwardFocusRef={forwardFocusRef}\n fetchData={fetchBuckets}\n visibleColumns={bucketsVisibleColumns}\n isItemDisabled={bucketsIsItemDisabled}\n selectableItemsTypes={selectableItemsTypes}\n i18nStrings={i18nStrings}\n isVisualRefresh={isVisualRefresh}\n onDrilldown={path =>\n dispatch({\n type: 'browse-objects',\n breadcrumbs: [path],\n })\n }\n onSelect={item => dispatch({ type: 'select-item', item })}\n />\n ) : currentView === 'objects' ? (\n <ObjectsTable\n forwardFocusRef={forwardFocusRef}\n pathSegments={breadcrumbs}\n fetchData={fetchObjects}\n visibleColumns={objectsVisibleColumns}\n isItemDisabled={objectsIsItemDisabled}\n selectableItemsTypes={selectableItemsTypes}\n i18nStrings={i18nStrings}\n isVisualRefresh={isVisualRefresh}\n onDrilldown={item => {\n dispatch({\n type: item.IsFolder ? 'browse-objects' : 'browse-versions',\n breadcrumbs: [...breadcrumbs, item.Key!],\n });\n }}\n onSelect={item => dispatch({ type: 'select-item', item })}\n />\n ) : currentView === 'versions' ? (\n <VersionsTable\n forwardFocusRef={forwardFocusRef}\n pathSegments={breadcrumbs}\n fetchData={fetchVersions}\n visibleColumns={versionsVisibleColumns}\n isItemDisabled={versionsIsItemDisabled}\n i18nStrings={i18nStrings}\n isVisualRefresh={isVisualRefresh}\n onSelect={item => dispatch({ type: 'select-item', item })}\n />\n ) : (\n assertNever(currentView)\n )}\n </InternalSpaceBetween>\n </InternalModal>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/s3-resource-selector/s3-modal/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, { useReducer, useRef } from 'react';\nimport InternalBreadcrumbGroup from '../../breadcrumb-group/internal';\nimport { InternalButton } from '../../button/internal';\nimport InternalModal from '../../modal/internal';\nimport InternalSpaceBetween from '../../space-between/internal';\nimport { ForwardFocusRef } from '../../internal/hooks/forward-focus';\nimport { useEffectOnUpdate } from '../../internal/hooks/use-effect-on-update';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport { S3ResourceSelectorProps } from '../interfaces';\nimport { BucketsTable } from './buckets-table';\nimport { ObjectsTable } from './objects-table';\nimport { VersionsTable } from './versions-table';\nimport styles from './styles.css.js';\nimport { joinObjectPath } from '../utils';\n\nexport interface S3ModalProps {\n alert: React.ReactNode;\n selectableItemsTypes: S3ResourceSelectorProps['selectableItemsTypes'];\n fetchBuckets: S3ResourceSelectorProps['fetchBuckets'];\n bucketsVisibleColumns: ReadonlyArray<string>;\n bucketsIsItemDisabled: S3ResourceSelectorProps['bucketsIsItemDisabled'];\n fetchObjects: S3ResourceSelectorProps['fetchObjects'];\n objectsVisibleColumns: ReadonlyArray<string>;\n objectsIsItemDisabled: S3ResourceSelectorProps['objectsIsItemDisabled'];\n fetchVersions: S3ResourceSelectorProps['fetchVersions'];\n versionsVisibleColumns: ReadonlyArray<string>;\n versionsIsItemDisabled: S3ResourceSelectorProps['versionsIsItemDisabled'];\n i18nStrings: S3ResourceSelectorProps.I18nStrings | undefined;\n onDismiss: () => void;\n onSubmit: (resource: S3ResourceSelectorProps.Resource) => void;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction assertNever(_value: never) {\n return null;\n}\n\ninterface S3BrowseState {\n selectedItem: string | null;\n currentView: 'buckets' | 'objects' | 'versions';\n breadcrumbs: ReadonlyArray<string>;\n}\n\ntype S3BrowseActions =\n | { type: 'browse-buckets' }\n | { type: 'browse-objects' | 'browse-versions'; breadcrumbs: S3BrowseState['breadcrumbs'] }\n | { type: 'select-item'; item: string };\n\nconst initialBrowseState: S3BrowseState = {\n selectedItem: null,\n currentView: 'buckets',\n breadcrumbs: [],\n};\n\nfunction s3BrowseReducer(state: S3BrowseState, action: S3BrowseActions) {\n switch (action.type) {\n case 'browse-buckets':\n return initialBrowseState;\n case 'browse-objects':\n return {\n selectedItem: null,\n currentView: 'objects' as const,\n breadcrumbs: action.breadcrumbs,\n };\n case 'browse-versions':\n return {\n selectedItem: null,\n currentView: 'versions' as const,\n breadcrumbs: action.breadcrumbs,\n };\n case 'select-item':\n return {\n ...state,\n selectedItem: action.item,\n };\n default:\n assertNever(action);\n }\n return state;\n}\n\nfunction createResourceInfo({ currentView, breadcrumbs, selectedItem }: S3BrowseState) {\n const prefix = 's3://';\n if (currentView === 'versions') {\n return { uri: prefix + joinObjectPath(breadcrumbs), versionId: selectedItem ?? undefined };\n }\n return { uri: prefix + joinObjectPath([...breadcrumbs, selectedItem!]) };\n}\n\nexport function S3Modal({\n i18nStrings,\n alert,\n selectableItemsTypes,\n fetchBuckets,\n bucketsVisibleColumns,\n bucketsIsItemDisabled,\n fetchObjects,\n objectsVisibleColumns,\n objectsIsItemDisabled,\n fetchVersions,\n versionsVisibleColumns,\n versionsIsItemDisabled,\n onSubmit,\n onDismiss,\n}: S3ModalProps) {\n const [{ currentView, breadcrumbs, selectedItem }, dispatch] = useReducer(s3BrowseReducer, initialBrowseState);\n const forwardFocusRef = useRef<ForwardFocusRef>(null);\n\n const isVisualRefresh = useVisualRefresh();\n\n useEffectOnUpdate(() => {\n forwardFocusRef.current?.focus();\n }, [breadcrumbs]);\n\n return (\n <div>\n <InternalModal\n visible={true}\n size=\"max\"\n closeAriaLabel={i18nStrings?.labelModalDismiss ?? ''}\n onDismiss={onDismiss}\n header={i18nStrings?.modalTitle}\n footer={\n <InternalSpaceBetween className={styles['modal-actions']} size=\"xs\" direction=\"horizontal\">\n <InternalButton variant=\"link\" formAction=\"none\" onClick={onDismiss}>\n {i18nStrings?.modalCancelButton}\n </InternalButton>\n <InternalButton\n variant=\"primary\"\n className={styles['submit-button']}\n disabled={!selectedItem}\n formAction=\"none\"\n onClick={() => onSubmit(createResourceInfo({ currentView, breadcrumbs, selectedItem }))}\n >\n {i18nStrings?.modalSubmitButton}\n </InternalButton>\n </InternalSpaceBetween>\n }\n >\n <InternalSpaceBetween size={isVisualRefresh ? 'xxs' : 'xs'}>\n <InternalBreadcrumbGroup\n ariaLabel={i18nStrings?.labelBreadcrumbs}\n expandAriaLabel=\"Show path\"\n onFollow={event => {\n event.preventDefault();\n event.detail.item.meta.onClick();\n }}\n items={[\n {\n text: i18nStrings?.modalBreadcrumbRootItem ?? '',\n href: '',\n meta: { onClick: () => dispatch({ type: 'browse-buckets' }) },\n },\n ...breadcrumbs.map((segment, index) => ({\n text: segment,\n href: '',\n meta: {\n onClick: () =>\n dispatch({\n type: 'browse-objects',\n breadcrumbs: breadcrumbs.slice(0, index + 1),\n }),\n },\n })),\n ]}\n />\n {alert}\n {currentView === 'buckets' ? (\n <BucketsTable\n forwardFocusRef={forwardFocusRef}\n fetchData={fetchBuckets}\n visibleColumns={bucketsVisibleColumns}\n isItemDisabled={bucketsIsItemDisabled}\n selectableItemsTypes={selectableItemsTypes}\n i18nStrings={i18nStrings}\n isVisualRefresh={isVisualRefresh}\n onDrilldown={path =>\n dispatch({\n type: 'browse-objects',\n breadcrumbs: [path],\n })\n }\n onSelect={item => dispatch({ type: 'select-item', item })}\n />\n ) : currentView === 'objects' ? (\n <ObjectsTable\n forwardFocusRef={forwardFocusRef}\n pathSegments={breadcrumbs}\n fetchData={fetchObjects}\n visibleColumns={objectsVisibleColumns}\n isItemDisabled={objectsIsItemDisabled}\n selectableItemsTypes={selectableItemsTypes}\n i18nStrings={i18nStrings}\n isVisualRefresh={isVisualRefresh}\n onDrilldown={item => {\n dispatch({\n type: item.IsFolder ? 'browse-objects' : 'browse-versions',\n breadcrumbs: [...breadcrumbs, item.Key!],\n });\n }}\n onSelect={item => dispatch({ type: 'select-item', item })}\n />\n ) : currentView === 'versions' ? (\n <VersionsTable\n forwardFocusRef={forwardFocusRef}\n pathSegments={breadcrumbs}\n fetchData={fetchVersions}\n visibleColumns={versionsVisibleColumns}\n isItemDisabled={versionsIsItemDisabled}\n i18nStrings={i18nStrings}\n isVisualRefresh={isVisualRefresh}\n onSelect={item => dispatch({ type: 'select-item', item })}\n />\n ) : (\n assertNever(currentView)\n )}\n </InternalSpaceBetween>\n </InternalModal>\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/split-panel/index.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAoB,MAAM,cAAc,CAAC;AAejE,OAAO,EAAE,eAAe,EAAE,CAAC;AA8L3B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,qBAA6B,EAC7B,WAAW,EACX,GAAG,SAAS,EACb,EAAE,eAAe,eA4RjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/split-panel/index.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAoB,MAAM,cAAc,CAAC;AAejE,OAAO,EAAE,eAAe,EAAE,CAAC;AA+L3B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,qBAA6B,EAC7B,WAAW,EACX,GAAG,SAAS,EACb,EAAE,eAAe,eA8RjB"}
@@ -37,7 +37,7 @@ var TransitionContentSide = function (_a) {
37
37
  _c)), onClick: function () { return !isOpen && onToggle(); } },
38
38
  isOpen ? (React.createElement("div", { className: styles['slider-wrapper-side'] },
39
39
  React.createElement("div", __assign({ role: "slider", tabIndex: 0, "aria-label": i18nStrings.resizeHandleAriaLabel, "aria-valuemax": 100, "aria-valuemin": 0, "aria-valuenow": relativeSize, className: clsx(styles.slider, styles['slider-side']), onKeyDown: onKeyDown, onMouseDown: onSliderMouseDown }, focusVisible),
40
- React.createElement(ResizeHandler, { className: clsx(styles['slider-icon'], styles['slider-icon-side']) })))) : (React.createElement(InternalButton, { className: clsx(styles['open-button'], styles['open-button-side']), iconName: "angle-left", variant: "icon", formAction: "none", ariaLabel: i18nStrings.openButtonAriaLabel, ref: isRefresh ? null : toggleRef })),
40
+ React.createElement(ResizeHandler, { className: clsx(styles['slider-icon'], styles['slider-icon-side']) })))) : (React.createElement(InternalButton, { className: clsx(styles['open-button'], styles['open-button-side']), iconName: "angle-left", variant: "icon", formAction: "none", ariaLabel: i18nStrings.openButtonAriaLabel, ariaExpanded: isOpen, ref: isRefresh ? null : toggleRef })),
41
41
  React.createElement("div", { className: styles['content-side'], "aria-hidden": !isOpen },
42
42
  React.createElement("div", { className: clsx(styles['pane-header-wrapper-side']) }, paneHeader),
43
43
  React.createElement("hr", { className: styles['header-divider'] }),
@@ -150,7 +150,7 @@ export default function SplitPanel(_a) {
150
150
  !hidePreferencesButton && isOpen && (React.createElement(React.Fragment, null,
151
151
  React.createElement(InternalButton, { className: styles['preferences-button'], iconName: "settings", variant: "icon", onClick: function () { return setPreferencesOpen(true); }, formAction: "none", ariaLabel: i18nStrings.preferencesTitle, ref: preferencesRef }),
152
152
  React.createElement("span", { className: styles.divider }))),
153
- isOpen ? (React.createElement(InternalButton, { className: styles['close-button'], iconName: isRefresh && position === 'side' ? 'angle-right' : isRefresh ? 'angle-down' : 'close', variant: "icon", onClick: onToggle, formAction: "none", ariaLabel: i18nStrings.closeButtonAriaLabel, ref: closeRef })) : position === 'side' ? null : (React.createElement(InternalButton, { className: styles['open-button'], iconName: "angle-up", variant: "icon", formAction: "none", ariaLabel: i18nStrings.openButtonAriaLabel, ref: toggleRef })))));
153
+ isOpen ? (React.createElement(InternalButton, { className: styles['close-button'], iconName: isRefresh && position === 'side' ? 'angle-right' : isRefresh ? 'angle-down' : 'close', variant: "icon", onClick: onToggle, formAction: "none", ariaLabel: i18nStrings.closeButtonAriaLabel, ref: closeRef, ariaExpanded: isOpen })) : position === 'side' ? null : (React.createElement(InternalButton, { className: styles['open-button'], iconName: "angle-up", variant: "icon", formAction: "none", ariaLabel: i18nStrings.openButtonAriaLabel, ref: toggleRef, ariaExpanded: isOpen })))));
154
154
  /*
155
155
  This effect forces the browser to recalculate the layout
156
156
  whenever the split panel might have moved.