@cloudscape-design/components 3.0.1128 → 3.0.1130

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 (824) hide show
  1. package/alert/actions-wrapper/index.js +3 -3
  2. package/alert/actions-wrapper/index.js.map +1 -1
  3. package/alert/internal-do-not-use-core.js +2 -4
  4. package/alert/internal-do-not-use-core.js.map +1 -1
  5. package/alert/internal.js +8 -10
  6. package/alert/internal.js.map +1 -1
  7. package/alert/style.js +12 -5
  8. package/alert/style.js.map +1 -1
  9. package/alert/styles.css.js +27 -27
  10. package/alert/styles.scoped.css +50 -50
  11. package/alert/styles.selectors.js +27 -27
  12. package/anchor-navigation/anchor-item/index.js +1 -1
  13. package/anchor-navigation/anchor-item/index.js.map +1 -1
  14. package/anchor-navigation/index.js +2 -4
  15. package/anchor-navigation/index.js.map +1 -1
  16. package/anchor-navigation/internal.js +2 -4
  17. package/anchor-navigation/internal.js.map +1 -1
  18. package/annotation-context/annotation/styles.css.js +24 -24
  19. package/annotation-context/annotation/styles.scoped.css +32 -32
  20. package/annotation-context/annotation/styles.selectors.js +24 -24
  21. package/annotation-context/index.js +3 -4
  22. package/annotation-context/index.js.map +1 -1
  23. package/app-layout/classic.js +20 -17
  24. package/app-layout/classic.js.map +1 -1
  25. package/app-layout/defaults.js +8 -3
  26. package/app-layout/defaults.js.map +1 -1
  27. package/app-layout/drawer/resizable-drawer.js +8 -10
  28. package/app-layout/drawer/resizable-drawer.js.map +1 -1
  29. package/app-layout/index.js +24 -21
  30. package/app-layout/index.js.map +1 -1
  31. package/app-layout/internal.js +3 -3
  32. package/app-layout/internal.js.map +1 -1
  33. package/app-layout/notifications/index.js +3 -5
  34. package/app-layout/notifications/index.js.map +1 -1
  35. package/app-layout/notifications/styles.css.js +3 -3
  36. package/app-layout/notifications/styles.scoped.css +7 -7
  37. package/app-layout/notifications/styles.selectors.js +3 -3
  38. package/app-layout/runtime-drawer/index.js +36 -18
  39. package/app-layout/runtime-drawer/index.js.map +1 -1
  40. package/app-layout/split-panel/provider.js +2 -4
  41. package/app-layout/split-panel/provider.js.map +1 -1
  42. package/app-layout/utils/use-app-layout-placement.js +1 -1
  43. package/app-layout/utils/use-app-layout-placement.js.map +1 -1
  44. package/app-layout/utils/use-drawers.js +9 -3
  45. package/app-layout/utils/use-drawers.js.map +1 -1
  46. package/app-layout/visual-refresh/context.js +28 -11
  47. package/app-layout/visual-refresh/context.js.map +1 -1
  48. package/app-layout/visual-refresh/drawers.js +3 -1
  49. package/app-layout/visual-refresh/drawers.js.map +1 -1
  50. package/app-layout/visual-refresh/index.js +1 -1
  51. package/app-layout/visual-refresh/index.js.map +1 -1
  52. package/app-layout/visual-refresh/layout.js +9 -1
  53. package/app-layout/visual-refresh/layout.js.map +1 -1
  54. package/app-layout/visual-refresh/main.js +4 -1
  55. package/app-layout/visual-refresh/main.js.map +1 -1
  56. package/app-layout/visual-refresh/split-panel.js +1 -1
  57. package/app-layout/visual-refresh/split-panel.js.map +1 -1
  58. package/app-layout/visual-refresh/styles.css.js +86 -86
  59. package/app-layout/visual-refresh/styles.scoped.css +258 -258
  60. package/app-layout/visual-refresh/styles.selectors.js +86 -86
  61. package/app-layout/visual-refresh/trigger-button.js +6 -3
  62. package/app-layout/visual-refresh/trigger-button.js.map +1 -1
  63. package/app-layout/visual-refresh-toolbar/compute-layout.js +5 -2
  64. package/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  65. package/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js +8 -4
  66. package/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js.map +1 -1
  67. package/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js +9 -6
  68. package/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js.map +1 -1
  69. package/app-layout/visual-refresh-toolbar/drawer/global-drawer.js +7 -3
  70. package/app-layout/visual-refresh-toolbar/drawer/global-drawer.js.map +1 -1
  71. package/app-layout/visual-refresh-toolbar/drawer/local-drawer.js +8 -4
  72. package/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
  73. package/app-layout/visual-refresh-toolbar/drawer/styles.css.js +30 -30
  74. package/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +87 -87
  75. package/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +30 -30
  76. package/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  77. package/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  78. package/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  79. package/app-layout/visual-refresh-toolbar/skeleton/index.js +10 -10
  80. package/app-layout/visual-refresh-toolbar/skeleton/index.js.map +1 -1
  81. package/app-layout/visual-refresh-toolbar/skeleton/slots.js +5 -2
  82. package/app-layout/visual-refresh-toolbar/skeleton/slots.js.map +1 -1
  83. package/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +27 -27
  84. package/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +54 -54
  85. package/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +27 -27
  86. package/app-layout/visual-refresh-toolbar/split-panel/index.js +2 -2
  87. package/app-layout/visual-refresh-toolbar/split-panel/index.js.map +1 -1
  88. package/app-layout/visual-refresh-toolbar/state/props-merger.js +7 -2
  89. package/app-layout/visual-refresh-toolbar/state/props-merger.js.map +1 -1
  90. package/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js +1 -1
  91. package/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js.map +1 -1
  92. package/app-layout/visual-refresh-toolbar/state/use-app-layout.js +19 -12
  93. package/app-layout/visual-refresh-toolbar/state/use-app-layout.js.map +1 -1
  94. package/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js +5 -2
  95. package/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js.map +1 -1
  96. package/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js +10 -6
  97. package/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js.map +1 -1
  98. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +4 -1
  99. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  100. package/app-layout/visual-refresh-toolbar/toolbar/index.js +1 -1
  101. package/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  102. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js +8 -8
  103. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
  104. package/app-layout-toolbar/index.js +24 -21
  105. package/app-layout-toolbar/index.js.map +1 -1
  106. package/area-chart/chart-container.js +1 -1
  107. package/area-chart/chart-container.js.map +1 -1
  108. package/area-chart/elements/chart-popover.js +1 -1
  109. package/area-chart/elements/chart-popover.js.map +1 -1
  110. package/area-chart/elements/threshold-series.js +1 -1
  111. package/area-chart/elements/threshold-series.js.map +1 -1
  112. package/area-chart/index.js +2 -4
  113. package/area-chart/index.js.map +1 -1
  114. package/area-chart/internal.js +2 -4
  115. package/area-chart/internal.js.map +1 -1
  116. package/area-chart/model/interactions-store.js +39 -9
  117. package/area-chart/model/interactions-store.js.map +1 -1
  118. package/attribute-editor/index.d.ts.map +1 -1
  119. package/attribute-editor/index.js +4 -6
  120. package/attribute-editor/index.js.map +1 -1
  121. package/attribute-editor/interfaces.d.ts +8 -0
  122. package/attribute-editor/interfaces.d.ts.map +1 -1
  123. package/attribute-editor/interfaces.js.map +1 -1
  124. package/attribute-editor/internal.d.ts.map +1 -1
  125. package/attribute-editor/internal.js +14 -10
  126. package/attribute-editor/internal.js.map +1 -1
  127. package/attribute-editor/row.js +1 -1
  128. package/attribute-editor/row.js.map +1 -1
  129. package/attribute-editor/styles.css.js +15 -15
  130. package/attribute-editor/styles.scoped.css +28 -28
  131. package/attribute-editor/styles.selectors.js +15 -15
  132. package/autosuggest/autosuggest-option.js +3 -5
  133. package/autosuggest/autosuggest-option.js.map +1 -1
  134. package/autosuggest/internal-do-not-use-core.js +2 -4
  135. package/autosuggest/internal-do-not-use-core.js.map +1 -1
  136. package/autosuggest/internal.js +10 -5
  137. package/autosuggest/internal.js.map +1 -1
  138. package/autosuggest/options-controller.js +15 -8
  139. package/autosuggest/options-controller.js.map +1 -1
  140. package/autosuggest/plain-list.js +3 -3
  141. package/autosuggest/plain-list.js.map +1 -1
  142. package/autosuggest/virtual-list.js +2 -2
  143. package/autosuggest/virtual-list.js.map +1 -1
  144. package/badge/internal-do-not-use-core.js +2 -4
  145. package/badge/internal-do-not-use-core.js.map +1 -1
  146. package/bar-chart/index.js +2 -4
  147. package/bar-chart/index.js.map +1 -1
  148. package/box/internal-do-not-use-core.js +2 -4
  149. package/box/internal-do-not-use-core.js.map +1 -1
  150. package/box/internal.js +2 -4
  151. package/box/internal.js.map +1 -1
  152. package/breadcrumb-group/all-items-dropdown.js +3 -3
  153. package/breadcrumb-group/all-items-dropdown.js.map +1 -1
  154. package/breadcrumb-group/implementation.js +9 -8
  155. package/breadcrumb-group/implementation.js.map +1 -1
  156. package/breadcrumb-group/index.js +3 -5
  157. package/breadcrumb-group/index.js.map +1 -1
  158. package/breadcrumb-group/item/funnel.js +1 -1
  159. package/breadcrumb-group/item/funnel.js.map +1 -1
  160. package/breadcrumb-group/item/item.js +5 -7
  161. package/breadcrumb-group/item/item.js.map +1 -1
  162. package/breadcrumb-group/item/styles.css.js +7 -7
  163. package/breadcrumb-group/item/styles.scoped.css +28 -28
  164. package/breadcrumb-group/item/styles.selectors.js +7 -7
  165. package/button/icon-helper.js +3 -5
  166. package/button/icon-helper.js.map +1 -1
  167. package/button/internal-do-not-use-core.js +2 -4
  168. package/button/internal-do-not-use-core.js.map +1 -1
  169. package/button/internal.js +31 -14
  170. package/button/internal.js.map +1 -1
  171. package/button/style.js +38 -27
  172. package/button/style.js.map +1 -1
  173. package/button/styles.css.js +22 -22
  174. package/button/styles.scoped.css +256 -256
  175. package/button/styles.selectors.js +22 -22
  176. package/button-dropdown/category-elements/expandable-category-element.js +11 -11
  177. package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  178. package/button-dropdown/category-elements/mobile-expandable-category-element.js +12 -12
  179. package/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  180. package/button-dropdown/internal-do-not-use-core.js +4 -6
  181. package/button-dropdown/internal-do-not-use-core.js.map +1 -1
  182. package/button-dropdown/internal.js +36 -25
  183. package/button-dropdown/internal.js.map +1 -1
  184. package/button-dropdown/item-element/index.js +25 -17
  185. package/button-dropdown/item-element/index.js.map +1 -1
  186. package/button-dropdown/item-element/styles.css.js +16 -16
  187. package/button-dropdown/item-element/styles.scoped.css +27 -27
  188. package/button-dropdown/item-element/styles.selectors.js +16 -16
  189. package/button-dropdown/tooltip.js +1 -1
  190. package/button-dropdown/tooltip.js.map +1 -1
  191. package/button-dropdown/utils/use-button-dropdown.js +1 -2
  192. package/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  193. package/button-group/internal-do-not-use-core.js +2 -4
  194. package/button-group/internal-do-not-use-core.js.map +1 -1
  195. package/button-group/internal.js +2 -4
  196. package/button-group/internal.js.map +1 -1
  197. package/button-group/item-element.js +4 -4
  198. package/button-group/item-element.js.map +1 -1
  199. package/button-group/menu-dropdown-item.js +1 -1
  200. package/button-group/menu-dropdown-item.js.map +1 -1
  201. package/button-group/style.js +34 -20
  202. package/button-group/style.js.map +1 -1
  203. package/calendar/grid/index.js +2 -3
  204. package/calendar/grid/index.js.map +1 -1
  205. package/calendar/index.js +2 -4
  206. package/calendar/index.js.map +1 -1
  207. package/calendar/internal.js +2 -4
  208. package/calendar/internal.js.map +1 -1
  209. package/cards/index.js +17 -19
  210. package/cards/index.js.map +1 -1
  211. package/checkbox/internal-do-not-use-core.js +2 -4
  212. package/checkbox/internal-do-not-use-core.js.map +1 -1
  213. package/checkbox/internal.js +4 -6
  214. package/checkbox/internal.js.map +1 -1
  215. package/checkbox/styles.css.js +3 -3
  216. package/checkbox/styles.scoped.css +11 -11
  217. package/checkbox/styles.selectors.js +3 -3
  218. package/code-editor/index.js +2 -3
  219. package/code-editor/index.js.map +1 -1
  220. package/code-editor/use-editor.js +4 -1
  221. package/code-editor/use-editor.js.map +1 -1
  222. package/code-editor/util.js +4 -1
  223. package/code-editor/util.js.map +1 -1
  224. package/collection-preferences/content-display/index.js +1 -1
  225. package/collection-preferences/content-display/index.js.map +1 -1
  226. package/collection-preferences/content-display/utils.js +1 -1
  227. package/collection-preferences/content-display/utils.js.map +1 -1
  228. package/collection-preferences/index.js +20 -13
  229. package/collection-preferences/index.js.map +1 -1
  230. package/collection-preferences/utils.js +9 -9
  231. package/collection-preferences/utils.js.map +1 -1
  232. package/collection-preferences/visible-content.js +8 -8
  233. package/collection-preferences/visible-content.js.map +1 -1
  234. package/column-layout/index.js +2 -4
  235. package/column-layout/index.js.map +1 -1
  236. package/column-layout/internal.js +2 -4
  237. package/column-layout/internal.js.map +1 -1
  238. package/container/internal-do-not-use-core.js +2 -4
  239. package/container/internal-do-not-use-core.js.map +1 -1
  240. package/container/internal.js +11 -9
  241. package/container/internal.js.map +1 -1
  242. package/container/style.js +11 -2
  243. package/container/style.js.map +1 -1
  244. package/content-layout/index.js +1 -1
  245. package/content-layout/index.js.map +1 -1
  246. package/content-layout/internal.js +3 -5
  247. package/content-layout/internal.js.map +1 -1
  248. package/content-layout/styles.css.js +14 -14
  249. package/content-layout/styles.scoped.css +27 -27
  250. package/content-layout/styles.selectors.js +14 -14
  251. package/copy-to-clipboard/index.js +2 -4
  252. package/copy-to-clipboard/index.js.map +1 -1
  253. package/copy-to-clipboard/internal.js +2 -4
  254. package/copy-to-clipboard/internal.js.map +1 -1
  255. package/date-input/internal-do-not-use-core.js +1 -1
  256. package/date-input/internal-do-not-use-core.js.map +1 -1
  257. package/date-input/internal.js +6 -8
  258. package/date-input/internal.js.map +1 -1
  259. package/date-picker/index.js +9 -6
  260. package/date-picker/index.js.map +1 -1
  261. package/date-range-picker/calendar/grids/grid-cell.js +3 -4
  262. package/date-range-picker/calendar/grids/grid-cell.js.map +1 -1
  263. package/date-range-picker/calendar/grids/grid.js +8 -8
  264. package/date-range-picker/calendar/grids/grid.js.map +1 -1
  265. package/date-range-picker/calendar/grids/index.js +2 -2
  266. package/date-range-picker/calendar/grids/index.js.map +1 -1
  267. package/date-range-picker/calendar/index.js +5 -2
  268. package/date-range-picker/calendar/index.js.map +1 -1
  269. package/date-range-picker/index.js +8 -6
  270. package/date-range-picker/index.js.map +1 -1
  271. package/date-range-picker/utils.js +8 -2
  272. package/date-range-picker/utils.js.map +1 -1
  273. package/drawer/implementation.js +7 -6
  274. package/drawer/implementation.js.map +1 -1
  275. package/drawer/index.js +1 -1
  276. package/drawer/index.js.map +1 -1
  277. package/expandable-section/expandable-section-container.js +3 -5
  278. package/expandable-section/expandable-section-container.js.map +1 -1
  279. package/expandable-section/expandable-section-header.js +8 -8
  280. package/expandable-section/expandable-section-header.js.map +1 -1
  281. package/expandable-section/index.js +2 -4
  282. package/expandable-section/index.js.map +1 -1
  283. package/expandable-section/internal.js +2 -4
  284. package/expandable-section/internal.js.map +1 -1
  285. package/file-dropzone/index.js +1 -1
  286. package/file-dropzone/index.js.map +1 -1
  287. package/file-dropzone/internal.js +3 -5
  288. package/file-dropzone/internal.js.map +1 -1
  289. package/file-input/index.js +2 -4
  290. package/file-input/index.js.map +1 -1
  291. package/file-input/internal.js +11 -8
  292. package/file-input/internal.js.map +1 -1
  293. package/file-token-group/default-formatters.js +3 -3
  294. package/file-token-group/default-formatters.js.map +1 -1
  295. package/file-token-group/index.js +2 -4
  296. package/file-token-group/index.js.map +1 -1
  297. package/file-token-group/internal.js +2 -4
  298. package/file-token-group/internal.js.map +1 -1
  299. package/file-upload/index.js +2 -4
  300. package/file-upload/index.js.map +1 -1
  301. package/file-upload/internal.js +5 -7
  302. package/file-upload/internal.js.map +1 -1
  303. package/flashbar/collapsible-flashbar.js +33 -23
  304. package/flashbar/collapsible-flashbar.js.map +1 -1
  305. package/flashbar/common.js +1 -3
  306. package/flashbar/common.js.map +1 -1
  307. package/flashbar/flash.js +4 -6
  308. package/flashbar/flash.js.map +1 -1
  309. package/flashbar/implementation.js +2 -2
  310. package/flashbar/implementation.js.map +1 -1
  311. package/flashbar/internal-do-not-use-core.js +1 -1
  312. package/flashbar/internal-do-not-use-core.js.map +1 -1
  313. package/flashbar/non-collapsible-flashbar.js +10 -9
  314. package/flashbar/non-collapsible-flashbar.js.map +1 -1
  315. package/flashbar/style.js +50 -32
  316. package/flashbar/style.js.map +1 -1
  317. package/flashbar/styles.css.js +50 -50
  318. package/flashbar/styles.scoped.css +187 -187
  319. package/flashbar/styles.selectors.js +50 -50
  320. package/flashbar/utils.js +2 -2
  321. package/flashbar/utils.js.map +1 -1
  322. package/form/index.js +4 -7
  323. package/form/index.js.map +1 -1
  324. package/form/internal.js +2 -4
  325. package/form/internal.js.map +1 -1
  326. package/form-field/index.js +7 -9
  327. package/form-field/index.js.map +1 -1
  328. package/form-field/internal.js +6 -5
  329. package/form-field/internal.js.map +1 -1
  330. package/grid/index.js +2 -4
  331. package/grid/index.js.map +1 -1
  332. package/grid/internal.js +2 -4
  333. package/grid/internal.js.map +1 -1
  334. package/header/analytics/use-table-integration.d.ts +2 -1
  335. package/header/analytics/use-table-integration.d.ts.map +1 -1
  336. package/header/analytics/use-table-integration.js +8 -1
  337. package/header/analytics/use-table-integration.js.map +1 -1
  338. package/header/index.js +2 -4
  339. package/header/index.js.map +1 -1
  340. package/header/interfaces.d.ts +2 -2
  341. package/header/interfaces.d.ts.map +1 -1
  342. package/header/interfaces.js.map +1 -1
  343. package/header/internal.js +4 -6
  344. package/header/internal.js.map +1 -1
  345. package/help-panel/implementation.js +7 -6
  346. package/help-panel/implementation.js.map +1 -1
  347. package/help-panel/index.js +1 -1
  348. package/help-panel/index.js.map +1 -1
  349. package/help-panel/styles.css.js +6 -6
  350. package/help-panel/styles.scoped.css +73 -73
  351. package/help-panel/styles.selectors.js +6 -6
  352. package/hotspot/index.js +3 -5
  353. package/hotspot/index.js.map +1 -1
  354. package/icon/internal-do-not-use-core.js +2 -4
  355. package/icon/internal-do-not-use-core.js.map +1 -1
  356. package/icon/internal.js +4 -6
  357. package/icon/internal.js.map +1 -1
  358. package/icon-provider/index.js.map +1 -1
  359. package/icon-provider/internal.js +2 -2
  360. package/icon-provider/internal.js.map +1 -1
  361. package/input/internal-do-not-use-core.js +5 -5
  362. package/input/internal-do-not-use-core.js.map +1 -1
  363. package/input/internal.js +10 -12
  364. package/input/internal.js.map +1 -1
  365. package/input/styles.css.js +13 -13
  366. package/input/styles.js +42 -30
  367. package/input/styles.js.map +1 -1
  368. package/input/styles.scoped.css +65 -65
  369. package/input/styles.selectors.js +13 -13
  370. package/internal/analytics/components/analytics-funnel.js +9 -12
  371. package/internal/analytics/components/analytics-funnel.js.map +1 -1
  372. package/internal/analytics/hooks/use-funnel.js +5 -6
  373. package/internal/analytics/hooks/use-funnel.js.map +1 -1
  374. package/internal/animate.js +1 -1
  375. package/internal/animate.js.map +1 -1
  376. package/internal/base-component/index.js +1 -1
  377. package/internal/base-component/index.js.map +1 -1
  378. package/internal/base-component/styles.scoped.css +1 -1
  379. package/internal/components/abstract-switch/index.js +21 -20
  380. package/internal/components/abstract-switch/index.js.map +1 -1
  381. package/internal/components/autosuggest-input/index.js +3 -5
  382. package/internal/components/autosuggest-input/index.js.map +1 -1
  383. package/internal/components/button-trigger/index.js +25 -6
  384. package/internal/components/button-trigger/index.js.map +1 -1
  385. package/internal/components/cartesian-chart/inline-start-labels.js +1 -1
  386. package/internal/components/cartesian-chart/inline-start-labels.js.map +1 -1
  387. package/internal/components/chart-filter/index.js +2 -4
  388. package/internal/components/chart-filter/index.js.map +1 -1
  389. package/internal/components/chart-plot/index.js +2 -2
  390. package/internal/components/chart-plot/index.js.map +1 -1
  391. package/internal/components/chart-popover/index.js +3 -5
  392. package/internal/components/chart-popover/index.js.map +1 -1
  393. package/internal/components/chart-series-details/index.js +2 -4
  394. package/internal/components/chart-series-details/index.js.map +1 -1
  395. package/internal/components/chart-wrapper/index.js +3 -5
  396. package/internal/components/chart-wrapper/index.js.map +1 -1
  397. package/internal/components/checkbox-icon/index.js +5 -7
  398. package/internal/components/checkbox-icon/index.js.map +1 -1
  399. package/internal/components/drag-handle/button.js +5 -5
  400. package/internal/components/drag-handle/button.js.map +1 -1
  401. package/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js +17 -4
  402. package/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js.map +1 -1
  403. package/internal/components/drag-handle/index.js +1 -3
  404. package/internal/components/drag-handle/index.js.map +1 -1
  405. package/internal/components/drag-handle-wrapper/styles.css.js +20 -20
  406. package/internal/components/drag-handle-wrapper/styles.scoped.css +48 -48
  407. package/internal/components/drag-handle-wrapper/styles.selectors.js +20 -20
  408. package/internal/components/dropdown/styles.css.js +20 -20
  409. package/internal/components/dropdown/styles.scoped.css +38 -38
  410. package/internal/components/dropdown/styles.selectors.js +20 -20
  411. package/internal/components/masked-input/index.js +12 -8
  412. package/internal/components/masked-input/index.js.map +1 -1
  413. package/internal/components/masked-input/utils/mask-format.js +6 -1
  414. package/internal/components/masked-input/utils/mask-format.js.map +1 -1
  415. package/internal/components/menu-dropdown/index.js +2 -4
  416. package/internal/components/menu-dropdown/index.js.map +1 -1
  417. package/internal/components/option/index.js +6 -8
  418. package/internal/components/option/index.js.map +1 -1
  419. package/internal/components/option/option-parts.js +1 -1
  420. package/internal/components/option/option-parts.js.map +1 -1
  421. package/internal/components/option/utils/flatten-options.js +1 -2
  422. package/internal/components/option/utils/flatten-options.js.map +1 -1
  423. package/internal/components/options-list/index.js +2 -4
  424. package/internal/components/options-list/index.js.map +1 -1
  425. package/internal/components/screenreader-only/index.js +1 -1
  426. package/internal/components/screenreader-only/index.js.map +1 -1
  427. package/internal/components/selectable-item/analytics-metadata/utils.js +1 -3
  428. package/internal/components/selectable-item/analytics-metadata/utils.js.map +1 -1
  429. package/internal/components/selectable-item/index.js +5 -7
  430. package/internal/components/selectable-item/index.js.map +1 -1
  431. package/internal/components/sortable-area/index.js +19 -6
  432. package/internal/components/sortable-area/index.js.map +1 -1
  433. package/internal/components/token-list/styles.css.js +10 -10
  434. package/internal/components/token-list/styles.scoped.css +25 -25
  435. package/internal/components/token-list/styles.selectors.js +10 -10
  436. package/internal/components/token-list/token-limit-toggle.js +1 -1
  437. package/internal/components/token-list/token-limit-toggle.js.map +1 -1
  438. package/internal/components/tooltip/index.js +1 -1
  439. package/internal/components/tooltip/index.js.map +1 -1
  440. package/internal/components/transition/index.js +3 -5
  441. package/internal/components/transition/index.js.map +1 -1
  442. package/internal/environment.js +2 -2
  443. package/internal/environment.json +2 -2
  444. package/internal/generated/custom-css-properties/index.d.ts +28 -0
  445. package/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  446. package/internal/generated/custom-css-properties/index.js +126 -98
  447. package/internal/generated/custom-css-properties/index.js.map +1 -1
  448. package/internal/generated/styles/tokens.d.ts +50 -75
  449. package/internal/generated/styles/tokens.js +50 -75
  450. package/internal/generated/theming/index.cjs +305 -461
  451. package/internal/generated/theming/index.js +305 -461
  452. package/internal/hooks/use-intersection-observer/index.js +1 -1
  453. package/internal/hooks/use-intersection-observer/index.js.map +1 -1
  454. package/internal/hooks/use-performance-marks/index.js +12 -2
  455. package/internal/hooks/use-performance-marks/index.js.map +1 -1
  456. package/internal/hooks/use-virtual/index.js +5 -2
  457. package/internal/hooks/use-virtual/index.js.map +1 -1
  458. package/internal/manifest.json +1 -1
  459. package/internal/plugins/controllers/drawers.js +4 -6
  460. package/internal/plugins/controllers/drawers.js.map +1 -1
  461. package/internal/plugins/helpers/use-global-breadcrumbs.js +4 -6
  462. package/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
  463. package/internal/plugins/widget/index.js +1 -1
  464. package/internal/plugins/widget/index.js.map +1 -1
  465. package/internal/utils/with-native-attributes.js +4 -6
  466. package/internal/utils/with-native-attributes.js.map +1 -1
  467. package/internal/widgets/index.js +2 -2
  468. package/internal/widgets/index.js.map +1 -1
  469. package/internal/widgets/loader-mock.js +2 -2
  470. package/internal/widgets/loader-mock.js.map +1 -1
  471. package/key-value-pairs/index.js +2 -4
  472. package/key-value-pairs/index.js.map +1 -1
  473. package/key-value-pairs/internal.js +4 -6
  474. package/key-value-pairs/internal.js.map +1 -1
  475. package/line-chart/index.js +2 -4
  476. package/line-chart/index.js.map +1 -1
  477. package/link/internal-do-not-use-core.js +2 -4
  478. package/link/internal-do-not-use-core.js.map +1 -1
  479. package/link/internal.js +13 -6
  480. package/link/internal.js.map +1 -1
  481. package/link/style.js +12 -9
  482. package/link/style.js.map +1 -1
  483. package/link/styles.css.js +20 -20
  484. package/link/styles.scoped.css +103 -103
  485. package/link/styles.selectors.js +20 -20
  486. package/list/index.js +1 -1
  487. package/list/index.js.map +1 -1
  488. package/list/internal.js +6 -8
  489. package/list/internal.js.map +1 -1
  490. package/live-region/index.js +2 -4
  491. package/live-region/index.js.map +1 -1
  492. package/live-region/internal.js +2 -4
  493. package/live-region/internal.js.map +1 -1
  494. package/mixed-line-bar-chart/bar-series.js +3 -3
  495. package/mixed-line-bar-chart/bar-series.js.map +1 -1
  496. package/mixed-line-bar-chart/chart-container.js +7 -9
  497. package/mixed-line-bar-chart/chart-container.js.map +1 -1
  498. package/mixed-line-bar-chart/chart-popover.js +4 -1
  499. package/mixed-line-bar-chart/chart-popover.js.map +1 -1
  500. package/mixed-line-bar-chart/hooks/use-navigation.js +1 -1
  501. package/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
  502. package/mixed-line-bar-chart/index.js +2 -4
  503. package/mixed-line-bar-chart/index.js.map +1 -1
  504. package/mixed-line-bar-chart/internal.js +2 -4
  505. package/mixed-line-bar-chart/internal.js.map +1 -1
  506. package/mixed-line-bar-chart/line-series.js +3 -3
  507. package/mixed-line-bar-chart/line-series.js.map +1 -1
  508. package/modal/index.js +5 -8
  509. package/modal/index.js.map +1 -1
  510. package/modal/internal.js +11 -14
  511. package/modal/internal.js.map +1 -1
  512. package/multiselect/embedded.js +15 -6
  513. package/multiselect/embedded.js.map +1 -1
  514. package/multiselect/index.js +2 -4
  515. package/multiselect/index.js.map +1 -1
  516. package/multiselect/internal.js +13 -12
  517. package/multiselect/internal.js.map +1 -1
  518. package/multiselect/use-multiselect.js +9 -5
  519. package/multiselect/use-multiselect.js.map +1 -1
  520. package/navigable-group/index.js +2 -4
  521. package/navigable-group/index.js.map +1 -1
  522. package/navigable-group/internal.js +2 -4
  523. package/navigable-group/internal.js.map +1 -1
  524. package/package.json +1 -1
  525. package/pagination/index.js +10 -10
  526. package/pagination/index.js.map +1 -1
  527. package/pagination/internal.js +36 -40
  528. package/pagination/internal.js.map +1 -1
  529. package/pie-chart/index.js +4 -6
  530. package/pie-chart/index.js.map +1 -1
  531. package/pie-chart/labels.js +2 -2
  532. package/pie-chart/labels.js.map +1 -1
  533. package/pie-chart/segments.js +1 -1
  534. package/pie-chart/segments.js.map +1 -1
  535. package/pie-chart/utils.js +17 -5
  536. package/pie-chart/utils.js.map +1 -1
  537. package/popover/body.js +3 -3
  538. package/popover/body.js.map +1 -1
  539. package/popover/container.js +1 -1
  540. package/popover/container.js.map +1 -1
  541. package/popover/index.js +2 -4
  542. package/popover/index.js.map +1 -1
  543. package/popover/internal.js +4 -6
  544. package/popover/internal.js.map +1 -1
  545. package/progress-bar/index.d.ts.map +1 -1
  546. package/progress-bar/index.js +14 -54
  547. package/progress-bar/interfaces.d.ts +18 -0
  548. package/progress-bar/interfaces.d.ts.map +1 -1
  549. package/progress-bar/interfaces.js.map +1 -1
  550. package/progress-bar/internal-do-not-use-core.js +56 -0
  551. package/progress-bar/internal-do-not-use-core.js.map +1 -0
  552. package/progress-bar/internal.d.ts +3 -1
  553. package/progress-bar/internal.d.ts.map +1 -1
  554. package/progress-bar/internal.js +10 -3
  555. package/progress-bar/internal.js.map +1 -1
  556. package/progress-bar/styles.css.js +19 -19
  557. package/progress-bar/styles.d.ts +15 -0
  558. package/progress-bar/styles.d.ts.map +1 -0
  559. package/progress-bar/styles.js +33 -0
  560. package/progress-bar/styles.js.map +1 -0
  561. package/progress-bar/styles.scoped.css +56 -56
  562. package/progress-bar/styles.selectors.js +19 -19
  563. package/prompt-input/index.js +1 -1
  564. package/prompt-input/interfaces.d.ts +48 -0
  565. package/prompt-input/interfaces.d.ts.map +1 -1
  566. package/prompt-input/interfaces.js.map +1 -1
  567. package/prompt-input/internal-do-not-use-core.js +2 -4
  568. package/prompt-input/internal-do-not-use-core.js.map +1 -1
  569. package/prompt-input/internal.d.ts.map +1 -1
  570. package/prompt-input/internal.js +5 -6
  571. package/prompt-input/internal.js.map +1 -1
  572. package/prompt-input/styles.css.js +17 -17
  573. package/prompt-input/styles.d.ts +4 -0
  574. package/prompt-input/styles.d.ts.map +1 -0
  575. package/prompt-input/styles.js +44 -0
  576. package/prompt-input/styles.js.map +1 -0
  577. package/prompt-input/styles.scoped.css +73 -61
  578. package/prompt-input/styles.selectors.js +17 -17
  579. package/property-filter/controller.js +6 -6
  580. package/property-filter/controller.js.map +1 -1
  581. package/property-filter/filter-options.js +1 -1
  582. package/property-filter/filter-options.js.map +1 -1
  583. package/property-filter/filtering-token/index.js +11 -14
  584. package/property-filter/filtering-token/index.js.map +1 -1
  585. package/property-filter/i18n-utils.js +48 -11
  586. package/property-filter/i18n-utils.js.map +1 -1
  587. package/property-filter/index.js +4 -6
  588. package/property-filter/index.js.map +1 -1
  589. package/property-filter/internal.js +15 -13
  590. package/property-filter/internal.js.map +1 -1
  591. package/property-filter/property-editor.js +1 -1
  592. package/property-filter/property-editor.js.map +1 -1
  593. package/property-filter/property-filter-autosuggest.js +8 -4
  594. package/property-filter/property-filter-autosuggest.js.map +1 -1
  595. package/property-filter/token-editor-inputs.js +10 -9
  596. package/property-filter/token-editor-inputs.js.map +1 -1
  597. package/property-filter/token-editor.js +10 -10
  598. package/property-filter/token-editor.js.map +1 -1
  599. package/property-filter/token.js +8 -8
  600. package/property-filter/token.js.map +1 -1
  601. package/property-filter/use-load-items.js +6 -1
  602. package/property-filter/use-load-items.js.map +1 -1
  603. package/radio-group/analytics-metadata/interfaces.d.ts +1 -0
  604. package/radio-group/analytics-metadata/interfaces.d.ts.map +1 -1
  605. package/radio-group/analytics-metadata/interfaces.js.map +1 -1
  606. package/radio-group/analytics-metadata/styles.css.js +6 -0
  607. package/radio-group/analytics-metadata/styles.scoped.css +7 -0
  608. package/radio-group/analytics-metadata/styles.selectors.js +7 -0
  609. package/radio-group/index.d.ts.map +1 -1
  610. package/radio-group/internal-do-not-use-core.js +10 -8
  611. package/radio-group/internal-do-not-use-core.js.map +1 -1
  612. package/radio-group/internal.d.ts.map +1 -1
  613. package/radio-group/internal.js +11 -12
  614. package/radio-group/internal.js.map +1 -1
  615. package/radio-group/radio-button.js +4 -6
  616. package/radio-group/radio-button.js.map +1 -1
  617. package/radio-group/styles.css.js +10 -10
  618. package/radio-group/styles.scoped.css +22 -22
  619. package/radio-group/styles.selectors.js +10 -10
  620. package/s3-resource-selector/index.js +3 -5
  621. package/s3-resource-selector/index.js.map +1 -1
  622. package/s3-resource-selector/s3-in-context/index.js +1 -1
  623. package/s3-resource-selector/s3-in-context/index.js.map +1 -1
  624. package/s3-resource-selector/s3-in-context/search-input.js +1 -1
  625. package/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
  626. package/s3-resource-selector/s3-modal/basic-table.js +4 -7
  627. package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  628. package/s3-resource-selector/s3-modal/buckets-table.js +13 -1
  629. package/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  630. package/s3-resource-selector/s3-modal/index.js +4 -1
  631. package/s3-resource-selector/s3-modal/index.js.map +1 -1
  632. package/s3-resource-selector/s3-modal/objects-table.js +14 -2
  633. package/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  634. package/s3-resource-selector/s3-modal/versions-table.js +13 -1
  635. package/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  636. package/segmented-control/index.js +1 -1
  637. package/segmented-control/index.js.map +1 -1
  638. package/segmented-control/internal.js +6 -8
  639. package/segmented-control/internal.js.map +1 -1
  640. package/segmented-control/segment.js +1 -1
  641. package/segmented-control/segment.js.map +1 -1
  642. package/select/index.js +2 -4
  643. package/select/index.js.map +1 -1
  644. package/select/internal.js +13 -10
  645. package/select/internal.js.map +1 -1
  646. package/select/parts/filter.js +9 -4
  647. package/select/parts/filter.js.map +1 -1
  648. package/select/parts/item.js +3 -5
  649. package/select/parts/item.js.map +1 -1
  650. package/select/parts/multiselect-item.js +3 -5
  651. package/select/parts/multiselect-item.js.map +1 -1
  652. package/select/parts/plain-list.js +1 -1
  653. package/select/parts/plain-list.js.map +1 -1
  654. package/select/parts/trigger.js +2 -2
  655. package/select/parts/trigger.js.map +1 -1
  656. package/select/parts/virtual-list.js +3 -3
  657. package/select/parts/virtual-list.js.map +1 -1
  658. package/select/utils/get-item-props.js +7 -1
  659. package/select/utils/get-item-props.js.map +1 -1
  660. package/select/utils/render-options.js +1 -1
  661. package/select/utils/render-options.js.map +1 -1
  662. package/side-navigation/implementation.js +2 -4
  663. package/side-navigation/implementation.js.map +1 -1
  664. package/side-navigation/index.js +2 -4
  665. package/side-navigation/index.js.map +1 -1
  666. package/side-navigation/parts.js +4 -4
  667. package/side-navigation/parts.js.map +1 -1
  668. package/slider/index.js +2 -4
  669. package/slider/index.js.map +1 -1
  670. package/slider/internal.js +2 -4
  671. package/slider/internal.js.map +1 -1
  672. package/slider/styles.css.js +26 -26
  673. package/slider/styles.scoped.css +86 -86
  674. package/slider/styles.selectors.js +26 -26
  675. package/slider/tick-marks.js +3 -3
  676. package/slider/tick-marks.js.map +1 -1
  677. package/space-between/internal-do-not-use-core.js +2 -4
  678. package/space-between/internal-do-not-use-core.js.map +1 -1
  679. package/space-between/internal.js +2 -4
  680. package/space-between/internal.js.map +1 -1
  681. package/spinner/internal-do-not-use-core.js +2 -4
  682. package/spinner/internal-do-not-use-core.js.map +1 -1
  683. package/spinner/internal.js +2 -4
  684. package/spinner/internal.js.map +1 -1
  685. package/spinner/styles.css.js +13 -13
  686. package/spinner/styles.scoped.css +39 -39
  687. package/spinner/styles.selectors.js +13 -13
  688. package/split-panel/bottom.js +2 -2
  689. package/split-panel/bottom.js.map +1 -1
  690. package/split-panel/implementation.js +2 -4
  691. package/split-panel/implementation.js.map +1 -1
  692. package/split-panel/index.js +16 -4
  693. package/split-panel/index.js.map +1 -1
  694. package/split-panel/side.js +6 -2
  695. package/split-panel/side.js.map +1 -1
  696. package/status-indicator/internal-do-not-use-core.js +2 -4
  697. package/status-indicator/internal-do-not-use-core.js.map +1 -1
  698. package/status-indicator/internal.js +3 -5
  699. package/status-indicator/internal.js.map +1 -1
  700. package/steps/internal-do-not-use-core.js +2 -4
  701. package/steps/internal-do-not-use-core.js.map +1 -1
  702. package/steps/internal.js +2 -4
  703. package/steps/internal.js.map +1 -1
  704. package/table/body-cell/disabled-inline-editor.js +4 -6
  705. package/table/body-cell/disabled-inline-editor.js.map +1 -1
  706. package/table/body-cell/index.js +9 -11
  707. package/table/body-cell/index.js.map +1 -1
  708. package/table/body-cell/inline-editor.js +18 -21
  709. package/table/body-cell/inline-editor.js.map +1 -1
  710. package/table/body-cell/td-element.js +3 -5
  711. package/table/body-cell/td-element.js.map +1 -1
  712. package/table/expandable-rows/expandable-rows-utils.js +1 -1
  713. package/table/expandable-rows/expandable-rows-utils.js.map +1 -1
  714. package/table/header-cell/index.js +20 -20
  715. package/table/header-cell/index.js.map +1 -1
  716. package/table/header-cell/th-element.js +3 -5
  717. package/table/header-cell/th-element.js.map +1 -1
  718. package/table/index.js +14 -10
  719. package/table/index.js.map +1 -1
  720. package/table/internal.js +47 -34
  721. package/table/internal.js.map +1 -1
  722. package/table/progressive-loading/loader-cell.js +2 -4
  723. package/table/progressive-loading/loader-cell.js.map +1 -1
  724. package/table/selection/selection-cell.js +8 -11
  725. package/table/selection/selection-cell.js.map +1 -1
  726. package/table/selection/selection-control.js +10 -12
  727. package/table/selection/selection-control.js.map +1 -1
  728. package/table/sticky-columns/use-sticky-columns.js +1 -1
  729. package/table/sticky-columns/use-sticky-columns.js.map +1 -1
  730. package/table/sticky-header.js +2 -2
  731. package/table/sticky-header.js.map +1 -1
  732. package/table/thead.js +5 -5
  733. package/table/thead.js.map +1 -1
  734. package/table/use-cell-editing.js +3 -4
  735. package/table/use-cell-editing.js.map +1 -1
  736. package/table/utils.js +1 -1
  737. package/table/utils.js.map +1 -1
  738. package/tabs/index.js +6 -8
  739. package/tabs/index.js.map +1 -1
  740. package/tabs/tab-header-bar.js +12 -5
  741. package/tabs/tab-header-bar.js.map +1 -1
  742. package/tag-editor/index.js +7 -9
  743. package/tag-editor/index.js.map +1 -1
  744. package/tag-editor/styles.css.js +3 -3
  745. package/tag-editor/styles.scoped.css +13 -13
  746. package/tag-editor/styles.selectors.js +3 -3
  747. package/text-content/index.js +2 -4
  748. package/text-content/index.js.map +1 -1
  749. package/text-content/styles.css.js +1 -1
  750. package/text-content/styles.scoped.css +66 -66
  751. package/text-content/styles.selectors.js +1 -1
  752. package/text-filter/index.js +1 -1
  753. package/text-filter/index.js.map +1 -1
  754. package/text-filter/internal.js +2 -4
  755. package/text-filter/internal.js.map +1 -1
  756. package/textarea/internal-do-not-use-core.js +3 -5
  757. package/textarea/internal-do-not-use-core.js.map +1 -1
  758. package/textarea/styles.css.js +5 -5
  759. package/textarea/styles.js +42 -30
  760. package/textarea/styles.js.map +1 -1
  761. package/textarea/styles.scoped.css +41 -41
  762. package/textarea/styles.selectors.js +5 -5
  763. package/tiles/index.js +3 -3
  764. package/tiles/index.js.map +1 -1
  765. package/tiles/internal.js +12 -14
  766. package/tiles/internal.js.map +1 -1
  767. package/tiles/tile.js +3 -5
  768. package/tiles/tile.js.map +1 -1
  769. package/time-input/internal-do-not-use-core.js +2 -4
  770. package/time-input/internal-do-not-use-core.js.map +1 -1
  771. package/time-input/internal.js +2 -4
  772. package/time-input/internal.js.map +1 -1
  773. package/toggle/internal-do-not-use-core.js +1 -1
  774. package/toggle/internal-do-not-use-core.js.map +1 -1
  775. package/toggle/internal.js +5 -7
  776. package/toggle/internal.js.map +1 -1
  777. package/toggle/styles.css.js +10 -10
  778. package/toggle/styles.scoped.css +23 -23
  779. package/toggle/styles.selectors.js +10 -10
  780. package/toggle-button/internal-do-not-use-core.js +2 -4
  781. package/toggle-button/internal-do-not-use-core.js.map +1 -1
  782. package/toggle-button/internal.js +3 -5
  783. package/toggle-button/internal.js.map +1 -1
  784. package/token/dismiss-button.js +2 -2
  785. package/token/dismiss-button.js.map +1 -1
  786. package/token/index.js +1 -1
  787. package/token/index.js.map +1 -1
  788. package/token/internal.js +20 -14
  789. package/token/internal.js.map +1 -1
  790. package/token-group/index.js +2 -4
  791. package/token-group/index.js.map +1 -1
  792. package/token-group/internal.js +6 -8
  793. package/token-group/internal.js.map +1 -1
  794. package/top-navigation/index.js +2 -4
  795. package/top-navigation/index.js.map +1 -1
  796. package/top-navigation/internal.js +2 -4
  797. package/top-navigation/internal.js.map +1 -1
  798. package/top-navigation/parts/overflow-menu/menu-item.js +7 -11
  799. package/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  800. package/top-navigation/parts/overflow-menu/views/submenu.js +2 -2
  801. package/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  802. package/top-navigation/parts/overflow-menu/views/utilities.js +1 -1
  803. package/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  804. package/top-navigation/parts/utility.js +1 -1
  805. package/top-navigation/parts/utility.js.map +1 -1
  806. package/tree-view/index.js +1 -1
  807. package/tree-view/index.js.map +1 -1
  808. package/tree-view/internal.js +2 -4
  809. package/tree-view/internal.js.map +1 -1
  810. package/tutorial-panel/components/tutorial-detail-view/task-list.js +1 -1
  811. package/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  812. package/tutorial-panel/index.js +2 -4
  813. package/tutorial-panel/index.js.map +1 -1
  814. package/wizard/internal-do-not-use-core.js +2 -4
  815. package/wizard/internal-do-not-use-core.js.map +1 -1
  816. package/wizard/internal.js +23 -10
  817. package/wizard/internal.js.map +1 -1
  818. package/wizard/wizard-actions.js +3 -3
  819. package/wizard/wizard-actions.js.map +1 -1
  820. package/wizard/wizard-form.js +2 -2
  821. package/wizard/wizard-form.js.map +1 -1
  822. package/wizard/wizard-navigation.js +7 -7
  823. package/wizard/wizard-navigation.js.map +1 -1
  824. package/progress-bar/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/property-filter/controller.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AutosuggestProps } from '../autosuggest/interfaces';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { I18nStringsOperators, operatorToDescription } from './i18n-utils';\nimport {\n ComparisonOperator,\n GroupText,\n I18nStrings,\n InternalFilteringOption,\n InternalFilteringProperty,\n InternalFreeTextFiltering,\n InternalQuery,\n InternalToken,\n InternalTokenGroup,\n JoinOperation,\n ParsedText,\n Query,\n Token,\n TokenGroup,\n} from './interfaces';\nimport {\n matchFilteringProperty,\n matchOperator,\n matchOperatorPrefix,\n matchTokenValue,\n removeOperator,\n tokenGroupToTokens,\n trimStart,\n} from './utils';\n\ntype I18nStringsController = I18nStringsOperators &\n Pick<I18nStrings, 'operatorsText' | 'groupPropertiesText' | 'groupValuesText'>;\n\nexport const getQueryActions = ({\n query,\n onChange,\n filteringOptions,\n enableTokenGroups,\n}: {\n query: InternalQuery;\n onChange: NonCancelableEventHandler<Query>;\n filteringOptions: readonly InternalFilteringOption[];\n enableTokenGroups: boolean;\n}) => {\n const setQuery = (query: InternalQuery) => {\n function transformToken(token: InternalToken | InternalTokenGroup): Token | TokenGroup {\n if ('operator' in token) {\n return matchTokenValue(token, filteringOptions);\n }\n return { ...token, tokens: token.tokens.map(transformToken) };\n }\n const tokens = query.tokens.map(transformToken);\n\n if (enableTokenGroups) {\n fireNonCancelableEvent(onChange, { tokens: [], operation: query.operation, tokenGroups: tokens });\n } else {\n fireNonCancelableEvent(onChange, { tokens: tokenGroupToTokens<Token>(tokens), operation: query.operation });\n }\n };\n\n const addToken = (token: InternalToken) => {\n setQuery({ ...query, tokens: [...query.tokens, token] });\n };\n\n const updateToken = (\n updateIndex: number,\n updatedToken: InternalToken | InternalTokenGroup,\n releasedTokens: InternalToken[]\n ) => {\n const nestedTokens = tokenGroupToTokens<InternalToken>([updatedToken]);\n const capturedTokenIndices = nestedTokens.map(token => token.standaloneIndex).filter(index => index !== undefined);\n const tokens = query.tokens\n .map((token, index) => (index === updateIndex ? updatedToken : token))\n .filter((_, index) => index === updateIndex || !capturedTokenIndices.includes(index));\n tokens.push(...releasedTokens);\n setQuery({ ...query, tokens });\n };\n\n const removeToken = (removeIndex: number) => {\n setQuery({ ...query, tokens: query.tokens.filter((_, index) => index !== removeIndex) });\n };\n\n const removeAllTokens = () => {\n setQuery({ ...query, tokens: [] });\n };\n\n const updateOperation = (operation: JoinOperation) => {\n setQuery({ ...query, operation });\n };\n\n return { addToken, updateToken, updateOperation, removeToken, removeAllTokens };\n};\n\nexport const getAllowedOperators = (property: InternalFilteringProperty): ComparisonOperator[] => {\n const { operators = [], defaultOperator } = property;\n const operatorOrder = ['=', '!=', ':', '!:', '^', '!^', '>=', '<=', '<', '>'] as const;\n const operatorSet = new Set([defaultOperator, ...operators]);\n return operatorOrder.filter(op => operatorSet.has(op));\n};\n\n/*\n * parses the value of the filtering input to figure out the current step of entering the token:\n * - \"property\": means that a filter on a particular column is being added, with operator already finalized\n * - \"operator\": means that a filter on a particular column is being added, with operator not yet finalized\n * - \"free-text\": means that a \"free text\" token is being added\n */\nexport const parseText = (\n filteringText: string,\n filteringProperties: readonly InternalFilteringProperty[],\n freeTextFiltering: InternalFreeTextFiltering\n): ParsedText => {\n const property = matchFilteringProperty(filteringProperties, filteringText);\n if (!property) {\n if (!freeTextFiltering.disabled) {\n // For free text filtering, we allow ! as a shortcut for !:\n const freeTextOperators =\n freeTextFiltering.operators.indexOf('!:') >= 0\n ? ['!', ...freeTextFiltering.operators]\n : freeTextFiltering.operators;\n const operator = matchOperator(freeTextOperators, filteringText);\n if (operator) {\n return {\n step: 'free-text',\n operator: operator === '!' ? '!:' : operator,\n value: removeOperator(filteringText, operator),\n };\n }\n }\n\n return {\n step: 'free-text',\n value: filteringText,\n };\n }\n\n const allowedOps = getAllowedOperators(property);\n\n const textWithoutProperty = filteringText.substring(property.propertyLabel.length);\n const operator = matchOperator(allowedOps, trimStart(textWithoutProperty));\n if (operator) {\n return {\n step: 'property',\n property,\n operator,\n value: removeOperator(textWithoutProperty, operator),\n };\n }\n\n const operatorPrefix = matchOperatorPrefix(allowedOps, trimStart(textWithoutProperty));\n if (operatorPrefix !== null) {\n return { step: 'operator', property, operatorPrefix };\n }\n\n return {\n step: 'free-text',\n value: filteringText,\n };\n};\n\ninterface OptionGroup<T> {\n label: string;\n options: T[];\n}\n\nconst getAllValueSuggestions = (\n filteringOptions: readonly InternalFilteringOption[],\n operator: ComparisonOperator | undefined = '=',\n i18nStrings: I18nStringsController,\n customGroupsText: readonly GroupText[]\n) => {\n const defaultGroup: OptionGroup<AutosuggestProps.Option> = {\n label: i18nStrings.groupValuesText ?? '',\n options: [],\n };\n const customGroups: { [K in string]: OptionGroup<AutosuggestProps.Option> } = {};\n filteringOptions.forEach(filteringOption => {\n const property = filteringOption.property;\n // given option refers to a non-existent filtering property\n if (!property) {\n return;\n }\n // this option's filtering property does not support current operator\n if (getAllowedOperators(property).indexOf(operator) === -1) {\n return;\n }\n if (property.propertyGroup && !customGroups[property.propertyGroup]) {\n const label = customGroupsText.reduce<string>(\n (acc, customGroup) => (customGroup.group === property.propertyGroup ? customGroup.values : acc),\n ''\n );\n customGroups[property.propertyGroup] = {\n label,\n options: [],\n };\n }\n const propertyGroup = property.propertyGroup ? customGroups[property.propertyGroup] : defaultGroup;\n propertyGroup.options.push({\n value: property.propertyLabel + ' ' + (operator || '=') + ' ' + filteringOption.value,\n label: filteringOption.label,\n __labelPrefix: property.propertyLabel + ' ' + (operator || '='),\n tags: filteringOption.tags,\n filteringTags: filteringOption.filteringTags,\n });\n });\n return [defaultGroup, ...Object.keys(customGroups).map(group => customGroups[group])];\n};\n\nconst filteringPropertyToAutosuggestOption = (filteringProperty: InternalFilteringProperty) => ({\n value: filteringProperty.propertyLabel,\n label: filteringProperty.propertyLabel,\n keepOpenOnSelect: true,\n});\n\nexport function getPropertySuggestions<T>(\n filteringProperties: readonly InternalFilteringProperty[],\n customGroupsText: readonly GroupText[],\n i18nStrings: I18nStringsController,\n filteringPropertyToOption: (filteringProperty: InternalFilteringProperty) => T\n) {\n const defaultGroup: OptionGroup<T> = {\n label: i18nStrings.groupPropertiesText ?? '',\n options: [],\n };\n const customGroups: { [K in string]: OptionGroup<T> } = {};\n\n filteringProperties.forEach(filteringProperty => {\n const { propertyGroup } = filteringProperty;\n let optionsGroup = defaultGroup;\n if (propertyGroup) {\n if (!customGroups[propertyGroup]) {\n const label = customGroupsText.reduce<string>(\n (acc, customGroup) => (customGroup.group === propertyGroup ? customGroup.properties : acc),\n ''\n );\n customGroups[propertyGroup] = { options: [], label };\n }\n optionsGroup = customGroups[propertyGroup];\n }\n optionsGroup.options.push(filteringPropertyToOption(filteringProperty));\n });\n const defaultGroupArray = defaultGroup.options.length ? [defaultGroup] : [];\n const customGroupsArray = Object.keys(customGroups).map(groupKey => customGroups[groupKey]);\n return [...defaultGroupArray, ...customGroupsArray];\n}\n\nexport const getAutosuggestOptions = (\n parsedText: ParsedText,\n filteringProperties: readonly InternalFilteringProperty[],\n filteringOptions: readonly InternalFilteringOption[],\n customGroupsText: readonly GroupText[],\n i18nStrings: I18nStringsController\n) => {\n switch (parsedText.step) {\n case 'property': {\n const { propertyLabel, groupValuesLabel } = parsedText.property;\n const options = filteringOptions.filter(o => o.property === parsedText.property);\n return {\n filterText: parsedText.value,\n options: [\n {\n options: options.map(({ label, value, tags, filteringTags }) => ({\n value: propertyLabel + ' ' + parsedText.operator + ' ' + value,\n label: label,\n __labelPrefix: propertyLabel + ' ' + parsedText.operator,\n tags: tags,\n filteringTags: filteringTags,\n })),\n label: groupValuesLabel,\n },\n ],\n };\n }\n case 'operator': {\n return {\n filterText: parsedText.property.propertyLabel + ' ' + parsedText.operatorPrefix,\n options: [\n ...getPropertySuggestions(\n filteringProperties,\n customGroupsText,\n i18nStrings,\n filteringPropertyToAutosuggestOption\n ),\n {\n options: getAllowedOperators(parsedText.property).map(value => ({\n value: parsedText.property.propertyLabel + ' ' + value + ' ',\n label: parsedText.property.propertyLabel + ' ' + value,\n description: operatorToDescription(value, i18nStrings),\n keepOpenOnSelect: true,\n })),\n label: i18nStrings.operatorsText,\n },\n ],\n };\n }\n case 'free-text': {\n const needsValueSuggestions = !!parsedText.value;\n const needsPropertySuggestions = !(parsedText.step === 'free-text' && parsedText.operator === '!:');\n return {\n filterText: parsedText.value,\n options: [\n ...(needsPropertySuggestions\n ? getPropertySuggestions(\n filteringProperties,\n customGroupsText,\n i18nStrings,\n filteringPropertyToAutosuggestOption\n )\n : []),\n ...(needsValueSuggestions\n ? getAllValueSuggestions(filteringOptions, parsedText.operator, i18nStrings, customGroupsText)\n : []),\n ],\n };\n }\n }\n};\n"]}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/property-filter/controller.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AutosuggestProps } from '../autosuggest/interfaces';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { I18nStringsOperators, operatorToDescription } from './i18n-utils';\nimport {\n ComparisonOperator,\n GroupText,\n I18nStrings,\n InternalFilteringOption,\n InternalFilteringProperty,\n InternalFreeTextFiltering,\n InternalQuery,\n InternalToken,\n InternalTokenGroup,\n JoinOperation,\n ParsedText,\n Query,\n Token,\n TokenGroup,\n} from './interfaces';\nimport {\n matchFilteringProperty,\n matchOperator,\n matchOperatorPrefix,\n matchTokenValue,\n removeOperator,\n tokenGroupToTokens,\n trimStart,\n} from './utils';\n\ntype I18nStringsController = I18nStringsOperators &\n Pick<I18nStrings, 'operatorsText' | 'groupPropertiesText' | 'groupValuesText'>;\n\nexport const getQueryActions = ({\n query,\n onChange,\n filteringOptions,\n enableTokenGroups,\n}: {\n query: InternalQuery;\n onChange: NonCancelableEventHandler<Query>;\n filteringOptions: readonly InternalFilteringOption[];\n enableTokenGroups: boolean;\n}) => {\n const setQuery = (query: InternalQuery) => {\n function transformToken(token: InternalToken | InternalTokenGroup): Token | TokenGroup {\n if ('operator' in token) {\n return matchTokenValue(token, filteringOptions);\n }\n return { ...token, tokens: token.tokens.map(transformToken) };\n }\n const tokens = query.tokens.map(transformToken);\n\n if (enableTokenGroups) {\n fireNonCancelableEvent(onChange, { tokens: [], operation: query.operation, tokenGroups: tokens });\n } else {\n fireNonCancelableEvent(onChange, { tokens: tokenGroupToTokens<Token>(tokens), operation: query.operation });\n }\n };\n\n const addToken = (token: InternalToken) => {\n setQuery({ ...query, tokens: [...query.tokens, token] });\n };\n\n const updateToken = (\n updateIndex: number,\n updatedToken: InternalToken | InternalTokenGroup,\n releasedTokens: InternalToken[]\n ) => {\n const nestedTokens = tokenGroupToTokens<InternalToken>([updatedToken]);\n const capturedTokenIndices = nestedTokens.map(token => token.standaloneIndex).filter(index => index !== undefined);\n const tokens = query.tokens\n .map((token, index) => (index === updateIndex ? updatedToken : token))\n .filter((_, index) => index === updateIndex || !capturedTokenIndices.includes(index));\n tokens.push(...releasedTokens);\n setQuery({ ...query, tokens });\n };\n\n const removeToken = (removeIndex: number) => {\n setQuery({ ...query, tokens: query.tokens.filter((_, index) => index !== removeIndex) });\n };\n\n const removeAllTokens = () => {\n setQuery({ ...query, tokens: [] });\n };\n\n const updateOperation = (operation: JoinOperation) => {\n setQuery({ ...query, operation });\n };\n\n return { addToken, updateToken, updateOperation, removeToken, removeAllTokens };\n};\n\nexport const getAllowedOperators = (property: InternalFilteringProperty): ComparisonOperator[] => {\n const { operators = [], defaultOperator } = property;\n const operatorOrder = ['=', '!=', ':', '!:', '^', '!^', '>=', '<=', '<', '>'] as const;\n const operatorSet = new Set([defaultOperator, ...operators]);\n return operatorOrder.filter(op => operatorSet.has(op));\n};\n\n/*\n * parses the value of the filtering input to figure out the current step of entering the token:\n * - \"property\": means that a filter on a particular column is being added, with operator already finalized\n * - \"operator\": means that a filter on a particular column is being added, with operator not yet finalized\n * - \"free-text\": means that a \"free text\" token is being added\n */\nexport const parseText = (\n filteringText: string,\n filteringProperties: readonly InternalFilteringProperty[],\n freeTextFiltering: InternalFreeTextFiltering\n): ParsedText => {\n const property = matchFilteringProperty(filteringProperties, filteringText);\n if (!property) {\n if (!freeTextFiltering.disabled) {\n // For free text filtering, we allow ! as a shortcut for !:\n const freeTextOperators =\n freeTextFiltering.operators.indexOf('!:') >= 0\n ? ['!', ...freeTextFiltering.operators]\n : freeTextFiltering.operators;\n const operator = matchOperator(freeTextOperators, filteringText);\n if (operator) {\n return {\n step: 'free-text',\n operator: operator === '!' ? '!:' : operator,\n value: removeOperator(filteringText, operator),\n };\n }\n }\n\n return {\n step: 'free-text',\n value: filteringText,\n };\n }\n\n const allowedOps = getAllowedOperators(property);\n\n const textWithoutProperty = filteringText.substring(property.propertyLabel.length);\n const operator = matchOperator(allowedOps, trimStart(textWithoutProperty));\n if (operator) {\n return {\n step: 'property',\n property,\n operator,\n value: removeOperator(textWithoutProperty, operator),\n };\n }\n\n const operatorPrefix = matchOperatorPrefix(allowedOps, trimStart(textWithoutProperty));\n if (operatorPrefix !== null) {\n return { step: 'operator', property, operatorPrefix };\n }\n\n return {\n step: 'free-text',\n value: filteringText,\n };\n};\n\ninterface OptionGroup<T> {\n label: string;\n options: T[];\n}\n\nconst getAllValueSuggestions = (\n filteringOptions: readonly InternalFilteringOption[],\n operator: ComparisonOperator | undefined = '=',\n i18nStrings: I18nStringsController,\n customGroupsText: readonly GroupText[]\n) => {\n const defaultGroup: OptionGroup<AutosuggestProps.Option> = {\n label: i18nStrings.groupValuesText ?? '',\n options: [],\n };\n const customGroups: { [K in string]: OptionGroup<AutosuggestProps.Option> } = {};\n filteringOptions.forEach(filteringOption => {\n const property = filteringOption.property;\n // given option refers to a non-existent filtering property\n if (!property) {\n return;\n }\n // this option's filtering property does not support current operator\n if (getAllowedOperators(property).indexOf(operator) === -1) {\n return;\n }\n if (property.propertyGroup && !customGroups[property.propertyGroup]) {\n const label = customGroupsText.reduce<string>(\n (acc, customGroup) => (customGroup.group === property.propertyGroup ? customGroup.values : acc),\n ''\n );\n customGroups[property.propertyGroup] = {\n label,\n options: [],\n };\n }\n const propertyGroup = property.propertyGroup ? customGroups[property.propertyGroup] : defaultGroup;\n propertyGroup.options.push({\n value: property.propertyLabel + ' ' + (operator || '=') + ' ' + filteringOption.value,\n label: filteringOption.label,\n __labelPrefix: property.propertyLabel + ' ' + (operator || '='),\n tags: filteringOption.tags,\n filteringTags: filteringOption.filteringTags,\n });\n });\n return [defaultGroup, ...Object.keys(customGroups).map(group => customGroups[group])];\n};\n\nconst filteringPropertyToAutosuggestOption = (filteringProperty: InternalFilteringProperty) => ({\n value: filteringProperty.propertyLabel,\n label: filteringProperty.propertyLabel,\n keepOpenOnSelect: true,\n});\n\nexport function getPropertySuggestions<T>(\n filteringProperties: readonly InternalFilteringProperty[],\n customGroupsText: readonly GroupText[],\n i18nStrings: I18nStringsController,\n filteringPropertyToOption: (filteringProperty: InternalFilteringProperty) => T\n) {\n const defaultGroup: OptionGroup<T> = {\n label: i18nStrings.groupPropertiesText ?? '',\n options: [],\n };\n const customGroups: { [K in string]: OptionGroup<T> } = {};\n\n filteringProperties.forEach(filteringProperty => {\n const { propertyGroup } = filteringProperty;\n let optionsGroup = defaultGroup;\n if (propertyGroup) {\n if (!customGroups[propertyGroup]) {\n const label = customGroupsText.reduce<string>(\n (acc, customGroup) => (customGroup.group === propertyGroup ? customGroup.properties : acc),\n ''\n );\n customGroups[propertyGroup] = { options: [], label };\n }\n optionsGroup = customGroups[propertyGroup];\n }\n optionsGroup.options.push(filteringPropertyToOption(filteringProperty));\n });\n const defaultGroupArray = defaultGroup.options.length ? [defaultGroup] : [];\n const customGroupsArray = Object.keys(customGroups).map(groupKey => customGroups[groupKey]);\n return [...defaultGroupArray, ...customGroupsArray];\n}\n\nexport const getAutosuggestOptions = (\n parsedText: ParsedText,\n filteringProperties: readonly InternalFilteringProperty[],\n filteringOptions: readonly InternalFilteringOption[],\n customGroupsText: readonly GroupText[],\n i18nStrings: I18nStringsController\n) => {\n switch (parsedText.step) {\n case 'property': {\n const { propertyLabel, groupValuesLabel } = parsedText.property;\n const options = filteringOptions.filter(o => o.property === parsedText.property);\n return {\n filterText: parsedText.value,\n options: [\n {\n options: options.map(({ label, value, tags, filteringTags }) => ({\n value: propertyLabel + ' ' + parsedText.operator + ' ' + value,\n label: label,\n __labelPrefix: propertyLabel + ' ' + parsedText.operator,\n tags: tags,\n filteringTags: filteringTags,\n })),\n label: groupValuesLabel,\n },\n ],\n };\n }\n case 'operator': {\n return {\n filterText: parsedText.property.propertyLabel + ' ' + parsedText.operatorPrefix,\n options: [\n ...getPropertySuggestions(\n filteringProperties,\n customGroupsText,\n i18nStrings,\n filteringPropertyToAutosuggestOption\n ),\n {\n options: getAllowedOperators(parsedText.property).map(value => ({\n value: parsedText.property.propertyLabel + ' ' + value + ' ',\n label: parsedText.property.propertyLabel + ' ' + value,\n description: operatorToDescription(value, i18nStrings),\n keepOpenOnSelect: true,\n })),\n label: i18nStrings.operatorsText,\n },\n ],\n };\n }\n case 'free-text': {\n const needsValueSuggestions = !!parsedText.value;\n const needsPropertySuggestions = !(parsedText.step === 'free-text' && parsedText.operator === '!:');\n return {\n filterText: parsedText.value,\n options: [\n ...(needsPropertySuggestions\n ? getPropertySuggestions(\n filteringProperties,\n customGroupsText,\n i18nStrings,\n filteringPropertyToAutosuggestOption\n )\n : []),\n ...(needsValueSuggestions\n ? getAllValueSuggestions(filteringOptions, parsedText.operator, i18nStrings, customGroupsText)\n : []),\n ],\n };\n }\n }\n};\n"]}
@@ -9,7 +9,7 @@ export function filterOptions(options, searchText = '') {
9
9
  if (isGroup(option)) {
10
10
  const childOptions = filterOptions(option.options, searchText);
11
11
  if (childOptions.length > 0) {
12
- filtered.push(Object.assign(Object.assign({}, option), { options: childOptions }));
12
+ filtered.push({ ...option, options: childOptions });
13
13
  }
14
14
  }
15
15
  else if (matchSingleOption(option, searchText)) {
@@ -1 +1 @@
1
- {"version":3,"file":"filter-options.js","sourceRoot":"","sources":["../../../src/property-filter/filter-options.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAKtC,MAAM,UAAU,aAAa,CAC3B,OAA4E,EAC5E,UAAU,GAAG,EAAE;IAEf,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAA+D,EAAE,CAAC;IAChF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC/D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,iCAAM,MAAM,KAAE,OAAO,EAAE,YAAY,IAAG,CAAC;YACtD,CAAC;QACH,CAAC;aAAM,IAAI,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,OAAO,CAAC,aAAsC;IACrD,OAAO,SAAS,IAAI,aAAa,CAAC;AACpC,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAwB,EAAE,UAAkB;;IACrE,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAEtC,MAAM,KAAK,GAAG,CAAC,MAAA,MAAM,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,WAAW,GAAG,MAAA,MAAM,CAAC,aAAa,mCAAI,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAEzF,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACjG,MAAM,WAAW,GAAG,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,mCAAI,KAAK,CAAC;IACpG,MAAM,oBAAoB,GAAG,MAAA,MAAA,MAAM,CAAC,aAAa,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,mCAAI,KAAK,CAAC;IACtH,OAAO,mBAAmB,IAAI,WAAW,IAAI,oBAAoB,CAAC;AACpE,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AutosuggestProps } from '../autosuggest/interfaces';\nimport { OptionDefinition } from '../internal/components/option/interfaces';\n\nexport function filterOptions(\n options: readonly (AutosuggestProps.Option | AutosuggestProps.OptionGroup)[],\n searchText = ''\n): readonly (AutosuggestProps.Option | AutosuggestProps.OptionGroup)[] {\n if (!searchText) {\n return options;\n }\n\n const filtered: (AutosuggestProps.Option | AutosuggestProps.OptionGroup)[] = [];\n for (const option of options) {\n if (isGroup(option)) {\n const childOptions = filterOptions(option.options, searchText);\n if (childOptions.length > 0) {\n filtered.push({ ...option, options: childOptions });\n }\n } else if (matchSingleOption(option, searchText)) {\n filtered.push(option);\n }\n }\n return filtered;\n}\n\nfunction isGroup(optionOrGroup: AutosuggestProps.Option): optionOrGroup is AutosuggestProps.OptionGroup {\n return 'options' in optionOrGroup;\n}\n\nfunction matchSingleOption(option: OptionDefinition, searchText: string): boolean {\n searchText = searchText.toLowerCase();\n\n const label = (option.label ?? '').toLowerCase();\n const labelPrefix = option.__labelPrefix ?? '';\n const value = (option.value ? option.value.slice(labelPrefix.length) : '').toLowerCase();\n\n const matchesLabelOrValue = label.indexOf(searchText) !== -1 || value.indexOf(searchText) !== -1;\n const matchesTags = option.tags?.some(tag => tag.toLowerCase().indexOf(searchText) !== -1) ?? false;\n const matchesFilteringTags = option.filteringTags?.some(tag => tag.toLowerCase().indexOf(searchText) !== -1) ?? false;\n return matchesLabelOrValue || matchesTags || matchesFilteringTags;\n}\n"]}
1
+ {"version":3,"file":"filter-options.js","sourceRoot":"","sources":["../../../src/property-filter/filter-options.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAKtC,MAAM,UAAU,aAAa,CAC3B,OAA4E,EAC5E,UAAU,GAAG,EAAE;IAEf,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAA+D,EAAE,CAAC;IAChF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC/D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;aAAM,IAAI,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,OAAO,CAAC,aAAsC;IACrD,OAAO,SAAS,IAAI,aAAa,CAAC;AACpC,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAwB,EAAE,UAAkB;;IACrE,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAEtC,MAAM,KAAK,GAAG,CAAC,MAAA,MAAM,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,WAAW,GAAG,MAAA,MAAM,CAAC,aAAa,mCAAI,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAEzF,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACjG,MAAM,WAAW,GAAG,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,mCAAI,KAAK,CAAC;IACpG,MAAM,oBAAoB,GAAG,MAAA,MAAA,MAAM,CAAC,aAAa,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,mCAAI,KAAK,CAAC;IACtH,OAAO,mBAAmB,IAAI,WAAW,IAAI,oBAAoB,CAAC;AACpE,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AutosuggestProps } from '../autosuggest/interfaces';\nimport { OptionDefinition } from '../internal/components/option/interfaces';\n\nexport function filterOptions(\n options: readonly (AutosuggestProps.Option | AutosuggestProps.OptionGroup)[],\n searchText = ''\n): readonly (AutosuggestProps.Option | AutosuggestProps.OptionGroup)[] {\n if (!searchText) {\n return options;\n }\n\n const filtered: (AutosuggestProps.Option | AutosuggestProps.OptionGroup)[] = [];\n for (const option of options) {\n if (isGroup(option)) {\n const childOptions = filterOptions(option.options, searchText);\n if (childOptions.length > 0) {\n filtered.push({ ...option, options: childOptions });\n }\n } else if (matchSingleOption(option, searchText)) {\n filtered.push(option);\n }\n }\n return filtered;\n}\n\nfunction isGroup(optionOrGroup: AutosuggestProps.Option): optionOrGroup is AutosuggestProps.OptionGroup {\n return 'options' in optionOrGroup;\n}\n\nfunction matchSingleOption(option: OptionDefinition, searchText: string): boolean {\n searchText = searchText.toLowerCase();\n\n const label = (option.label ?? '').toLowerCase();\n const labelPrefix = option.__labelPrefix ?? '';\n const value = (option.value ? option.value.slice(labelPrefix.length) : '').toLowerCase();\n\n const matchesLabelOrValue = label.indexOf(searchText) !== -1 || value.indexOf(searchText) !== -1;\n const matchesTags = option.tags?.some(tag => tag.toLowerCase().indexOf(searchText) !== -1) ?? false;\n const matchesFilteringTags = option.filteringTags?.some(tag => tag.toLowerCase().indexOf(searchText) !== -1) ?? false;\n return matchesLabelOrValue || matchesTags || matchesFilteringTags;\n}\n"]}
@@ -1,6 +1,5 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { __rest } from "tslib";
4
3
  import React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';
5
4
  import clsx from 'clsx';
6
5
  import { useDensityMode, useMergeRefs } from '@cloudscape-design/component-toolkit/internal';
@@ -11,8 +10,7 @@ import InternalPopover from '../../popover/internal';
11
10
  import InternalSelect from '../../select/internal';
12
11
  import testUtilStyles from '../test-classes/styles.css.js';
13
12
  import styles from './styles.css.js';
14
- const FilteringToken = forwardRef((_a, ref) => {
15
- var { tokens, showOperation, readOnlyOperations, operation, groupOperation, andText, orText, groupAriaLabel, operationAriaLabel, groupEditAriaLabel, disabled = false, onChangeOperation, onChangeGroupOperation, onDismissToken, editorContent, editorHeader, editorDismissAriaLabel, editorExpandToViewport, onEditorOpen, hasGroups, popoverSize } = _a, rest = __rest(_a, ["tokens", "showOperation", "readOnlyOperations", "operation", "groupOperation", "andText", "orText", "groupAriaLabel", "operationAriaLabel", "groupEditAriaLabel", "disabled", "onChangeOperation", "onChangeGroupOperation", "onDismissToken", "editorContent", "editorHeader", "editorDismissAriaLabel", "editorExpandToViewport", "onEditorOpen", "hasGroups", "popoverSize"]);
13
+ const FilteringToken = forwardRef(({ tokens, showOperation, readOnlyOperations, operation, groupOperation, andText, orText, groupAriaLabel, operationAriaLabel, groupEditAriaLabel, disabled = false, onChangeOperation, onChangeGroupOperation, onDismissToken, editorContent, editorHeader, editorDismissAriaLabel, editorExpandToViewport, onEditorOpen, hasGroups, popoverSize, ...rest }, ref) => {
16
14
  const [nextFocusIndex, setNextFocusIndex] = useState(null);
17
15
  const tokenListRef = useListFocusController({
18
16
  nextFocusIndex,
@@ -36,25 +34,24 @@ const FilteringToken = forwardRef((_a, ref) => {
36
34
  __closeAnalyticsAction: 'editClose',
37
35
  };
38
36
  useImperativeHandle(ref, () => ({ closeEditor: () => { var _a; return (_a = popoverRef.current) === null || _a === void 0 ? void 0 : _a.focus(); } }));
39
- return (React.createElement(TokenGroup, Object.assign({ ref: tokenListRef, ariaLabel: tokens.length === 1 ? tokens[0].ariaLabel : groupAriaLabel, operation: showOperation && (React.createElement(OperationSelector, { operation: operation, onChange: onChangeOperation, ariaLabel: operationAriaLabel, andText: andText, orText: orText, parent: true, readOnlyOperations: readOnlyOperations, disabled: disabled })), tokenAction: tokens.length === 1 ? (React.createElement(TokenDismissButton, { ariaLabel: tokens[0].dismissAriaLabel, onClick: () => onDismissToken(0), parent: true, disabled: disabled })) : (React.createElement(InternalPopover, Object.assign({ ref: popoverRef }, popoverProps, { triggerType: "filtering-token" }),
40
- React.createElement(TokenEditButton, { ariaLabel: groupEditAriaLabel, disabled: disabled }))), parent: true, grouped: tokens.length > 1, disabled: disabled, hasGroups: hasGroups }, copyAnalyticsMetadataAttribute(rest)), tokens.length === 1 ? (React.createElement(InternalPopover, Object.assign({ ref: popoverRef }, popoverProps),
41
- React.createElement("span", Object.assign({}, getAnalyticsMetadataAttribute({
42
- action: 'editStart',
43
- })), tokens[0].content))) : (React.createElement("ul", { className: styles.list }, tokens.map((token, index) => (React.createElement("li", { key: index },
37
+ return (React.createElement(TokenGroup, { ref: tokenListRef, ariaLabel: tokens.length === 1 ? tokens[0].ariaLabel : groupAriaLabel, operation: showOperation && (React.createElement(OperationSelector, { operation: operation, onChange: onChangeOperation, ariaLabel: operationAriaLabel, andText: andText, orText: orText, parent: true, readOnlyOperations: readOnlyOperations, disabled: disabled })), tokenAction: tokens.length === 1 ? (React.createElement(TokenDismissButton, { ariaLabel: tokens[0].dismissAriaLabel, onClick: () => onDismissToken(0), parent: true, disabled: disabled })) : (React.createElement(InternalPopover, { ref: popoverRef, ...popoverProps, triggerType: "filtering-token" },
38
+ React.createElement(TokenEditButton, { ariaLabel: groupEditAriaLabel, disabled: disabled }))), parent: true, grouped: tokens.length > 1, disabled: disabled, hasGroups: hasGroups, ...copyAnalyticsMetadataAttribute(rest) }, tokens.length === 1 ? (React.createElement(InternalPopover, { ref: popoverRef, ...popoverProps },
39
+ React.createElement("span", { ...getAnalyticsMetadataAttribute({
40
+ action: 'editStart',
41
+ }) }, tokens[0].content))) : (React.createElement("ul", { className: styles.list }, tokens.map((token, index) => (React.createElement("li", { key: index },
44
42
  React.createElement(TokenGroup, { ariaLabel: token.ariaLabel, operation: index !== 0 && (React.createElement(OperationSelector, { operation: groupOperation, onChange: onChangeGroupOperation, ariaLabel: operationAriaLabel, andText: andText, orText: orText, parent: false, readOnlyOperations: readOnlyOperations, disabled: disabled })), tokenAction: React.createElement(TokenDismissButton, { ariaLabel: token.dismissAriaLabel, onClick: () => {
45
43
  onDismissToken(index);
46
44
  setNextFocusIndex(index);
47
45
  }, parent: false, disabled: disabled }), parent: false, grouped: false, disabled: disabled, hasGroups: false }, token.content))))))));
48
46
  });
49
47
  export default FilteringToken;
50
- const TokenGroup = forwardRef((_a, ref) => {
51
- var { ariaLabel, children, operation, tokenAction, parent, grouped, disabled, hasGroups } = _a, rest = __rest(_a, ["ariaLabel", "children", "operation", "tokenAction", "parent", "grouped", "disabled", "hasGroups"]);
48
+ const TokenGroup = forwardRef(({ ariaLabel, children, operation, tokenAction, parent, grouped, disabled, hasGroups, ...rest }, ref) => {
52
49
  const groupRef = useRef(null);
53
50
  const mergedRef = useMergeRefs(ref, groupRef);
54
51
  const isCompactMode = useDensityMode(groupRef) === 'compact';
55
- return (React.createElement("div", Object.assign({ ref: mergedRef, className: clsx(parent
52
+ return (React.createElement("div", { ref: mergedRef, className: clsx(parent
56
53
  ? clsx(styles.root, testUtilStyles['filtering-token'])
57
- : clsx(styles['inner-root'], testUtilStyles['filtering-token-inner']), hasGroups && styles['has-groups'], isCompactMode && styles['compact-mode']), role: "group", "aria-label": ariaLabel }, copyAnalyticsMetadataAttribute(rest)),
54
+ : clsx(styles['inner-root'], testUtilStyles['filtering-token-inner']), hasGroups && styles['has-groups'], isCompactMode && styles['compact-mode']), role: "group", "aria-label": ariaLabel, ...copyAnalyticsMetadataAttribute(rest) },
58
55
  operation,
59
56
  React.createElement("div", { className: clsx(parent ? styles.token : styles['inner-token'], !!operation && styles['show-operation'], grouped && styles.grouped, disabled && styles['token-disabled']), "aria-disabled": disabled },
60
57
  React.createElement("div", { className: clsx(parent
@@ -71,9 +68,9 @@ function OperationSelector({ operation, onChange, ariaLabel, andText, orText, pa
71
68
  ], selectedOption: { value: operation, label: operation === 'and' ? andText : orText }, onChange: e => onChange(e.detail.selectedOption.value), disabled: disabled, readOnly: readOnlyOperations, ariaLabel: ariaLabel }));
72
69
  }
73
70
  function TokenDismissButton({ ariaLabel, onClick, parent, disabled, }) {
74
- return (React.createElement("button", Object.assign({ type: "button", className: clsx(parent
71
+ return (React.createElement("button", { type: "button", className: clsx(parent
75
72
  ? clsx(styles['dismiss-button'], testUtilStyles['filtering-token-dismiss-button'])
76
- : clsx(styles['inner-dismiss-button'], testUtilStyles['filtering-token-inner-dismiss-button'])), "aria-label": ariaLabel, onClick: onClick, disabled: disabled }, getAnalyticsMetadataAttribute({ action: 'dismiss' })),
73
+ : clsx(styles['inner-dismiss-button'], testUtilStyles['filtering-token-inner-dismiss-button'])), "aria-label": ariaLabel, onClick: onClick, disabled: disabled, ...getAnalyticsMetadataAttribute({ action: 'dismiss' }) },
77
74
  React.createElement(InternalIcon, { name: "close" })));
78
75
  }
79
76
  function TokenEditButton({ ariaLabel, disabled }) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/property-filter/filtering-token/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\n\nimport React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useDensityMode, useMergeRefs } from '@cloudscape-design/component-toolkit/internal';\nimport {\n copyAnalyticsMetadataAttribute,\n getAnalyticsMetadataAttribute,\n} from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../../icon/internal';\nimport { useListFocusController } from '../../internal/hooks/use-list-focus-controller';\nimport { PopoverProps } from '../../popover/interfaces';\nimport InternalPopover, { InternalPopoverProps } from '../../popover/internal';\nimport InternalSelect from '../../select/internal';\nimport { GeneratedAnalyticsMetadataPropertyEditStart } from '../analytics-metadata/interfaces';\n\nimport testUtilStyles from '../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport namespace FilteringTokenProps {\n export type Operation = 'and' | 'or';\n}\n\nexport interface FilteringTokenProps {\n tokens: TokenItem[];\n operation: FilteringTokenProps.Operation;\n groupOperation: FilteringTokenProps.Operation;\n showOperation: boolean;\n readOnlyOperations: boolean;\n andText: string;\n orText: string;\n groupAriaLabel: string;\n operationAriaLabel: string;\n groupEditAriaLabel: string;\n disabled?: boolean;\n onChangeOperation: (operation: FilteringTokenProps.Operation) => void;\n onChangeGroupOperation: (operation: FilteringTokenProps.Operation) => void;\n onDismissToken: (tokenIndex: number) => void;\n editorContent: React.ReactNode;\n editorHeader: string;\n editorDismissAriaLabel?: string;\n editorExpandToViewport: boolean;\n onEditorOpen?: () => void;\n hasGroups: boolean;\n popoverSize: InternalPopoverProps['size'];\n}\n\nexport interface FilteringTokenRef {\n closeEditor(): void;\n}\n\ninterface TokenItem {\n content: React.ReactNode;\n ariaLabel: string;\n dismissAriaLabel: string;\n}\n\nconst FilteringToken = forwardRef(\n (\n {\n tokens,\n showOperation,\n readOnlyOperations,\n operation,\n groupOperation,\n andText,\n orText,\n groupAriaLabel,\n operationAriaLabel,\n groupEditAriaLabel,\n disabled = false,\n onChangeOperation,\n onChangeGroupOperation,\n onDismissToken,\n editorContent,\n editorHeader,\n editorDismissAriaLabel,\n editorExpandToViewport,\n onEditorOpen,\n hasGroups,\n popoverSize,\n ...rest\n }: FilteringTokenProps,\n ref: React.Ref<FilteringTokenRef>\n ) => {\n const [nextFocusIndex, setNextFocusIndex] = useState<null | number>(null);\n const tokenListRef = useListFocusController({\n nextFocusIndex,\n onFocusMoved: target => {\n target.focus();\n setNextFocusIndex(null);\n },\n listItemSelector: `.${styles['inner-root']}`,\n fallbackSelector: `.${styles.root}`,\n });\n\n const popoverRef = useRef<PopoverProps.Ref>(null);\n const popoverProps: InternalPopoverProps = {\n content: editorContent,\n triggerType: 'text',\n header: editorHeader,\n size: popoverSize,\n position: 'bottom',\n dismissAriaLabel: editorDismissAriaLabel,\n renderWithPortal: editorExpandToViewport,\n __onOpen: onEditorOpen,\n __closeAnalyticsAction: 'editClose',\n };\n useImperativeHandle(ref, () => ({ closeEditor: () => popoverRef.current?.focus() }));\n\n return (\n <TokenGroup\n ref={tokenListRef}\n ariaLabel={tokens.length === 1 ? tokens[0].ariaLabel : groupAriaLabel}\n operation={\n showOperation && (\n <OperationSelector\n operation={operation}\n onChange={onChangeOperation}\n ariaLabel={operationAriaLabel}\n andText={andText}\n orText={orText}\n parent={true}\n readOnlyOperations={readOnlyOperations}\n disabled={disabled}\n />\n )\n }\n tokenAction={\n tokens.length === 1 ? (\n <TokenDismissButton\n ariaLabel={tokens[0].dismissAriaLabel}\n onClick={() => onDismissToken(0)}\n parent={true}\n disabled={disabled}\n />\n ) : (\n <InternalPopover ref={popoverRef} {...popoverProps} triggerType=\"filtering-token\">\n <TokenEditButton ariaLabel={groupEditAriaLabel} disabled={disabled} />\n </InternalPopover>\n )\n }\n parent={true}\n grouped={tokens.length > 1}\n disabled={disabled}\n hasGroups={hasGroups}\n {...copyAnalyticsMetadataAttribute(rest)}\n >\n {tokens.length === 1 ? (\n <InternalPopover ref={popoverRef} {...popoverProps}>\n <span\n {...getAnalyticsMetadataAttribute({\n action: 'editStart',\n } as Partial<GeneratedAnalyticsMetadataPropertyEditStart>)}\n >\n {tokens[0].content}\n </span>\n </InternalPopover>\n ) : (\n <ul className={styles.list}>\n {tokens.map((token, index) => (\n <li key={index}>\n <TokenGroup\n ariaLabel={token.ariaLabel}\n operation={\n index !== 0 && (\n <OperationSelector\n operation={groupOperation}\n onChange={onChangeGroupOperation}\n ariaLabel={operationAriaLabel}\n andText={andText}\n orText={orText}\n parent={false}\n readOnlyOperations={readOnlyOperations}\n disabled={disabled}\n />\n )\n }\n tokenAction={\n <TokenDismissButton\n ariaLabel={token.dismissAriaLabel}\n onClick={() => {\n onDismissToken(index);\n setNextFocusIndex(index);\n }}\n parent={false}\n disabled={disabled}\n />\n }\n parent={false}\n grouped={false}\n disabled={disabled}\n hasGroups={false}\n >\n {token.content}\n </TokenGroup>\n </li>\n ))}\n </ul>\n )}\n </TokenGroup>\n );\n }\n);\n\nexport default FilteringToken;\n\nconst TokenGroup = forwardRef(\n (\n {\n ariaLabel,\n children,\n operation,\n tokenAction,\n parent,\n grouped,\n disabled,\n hasGroups,\n ...rest\n }: {\n ariaLabel?: string;\n children: React.ReactNode;\n operation: React.ReactNode;\n tokenAction: React.ReactNode;\n parent: boolean;\n grouped: boolean;\n disabled: boolean;\n hasGroups: boolean;\n },\n ref: React.Ref<HTMLDivElement>\n ) => {\n const groupRef = useRef<HTMLDivElement>(null);\n const mergedRef = useMergeRefs(ref, groupRef);\n const isCompactMode = useDensityMode(groupRef) === 'compact';\n return (\n <div\n ref={mergedRef}\n className={clsx(\n parent\n ? clsx(styles.root, testUtilStyles['filtering-token'])\n : clsx(styles['inner-root'], testUtilStyles['filtering-token-inner']),\n hasGroups && styles['has-groups'],\n isCompactMode && styles['compact-mode']\n )}\n role=\"group\"\n aria-label={ariaLabel}\n {...copyAnalyticsMetadataAttribute(rest)}\n >\n {operation}\n\n <div\n className={clsx(\n parent ? styles.token : styles['inner-token'],\n !!operation && styles['show-operation'],\n grouped && styles.grouped,\n disabled && styles['token-disabled']\n )}\n aria-disabled={disabled}\n >\n <div\n className={clsx(\n parent\n ? clsx(styles['token-content'], testUtilStyles['filtering-token-content'])\n : clsx(styles['inner-token-content'], testUtilStyles['filtering-token-inner-content']),\n grouped && styles['token-content-grouped']\n )}\n >\n {children}\n </div>\n\n {tokenAction}\n </div>\n </div>\n );\n }\n);\n\nfunction OperationSelector({\n operation,\n onChange,\n ariaLabel,\n andText,\n orText,\n parent,\n readOnlyOperations,\n disabled,\n}: {\n operation: FilteringTokenProps.Operation;\n onChange: (operation: FilteringTokenProps.Operation) => void;\n andText: string;\n orText: string;\n ariaLabel: string;\n parent: boolean;\n readOnlyOperations: boolean;\n disabled?: boolean;\n}) {\n return (\n <InternalSelect\n __inFilteringToken={parent ? 'root' : 'nested'}\n className={clsx(\n parent\n ? clsx(styles.select, testUtilStyles['filtering-token-select'])\n : clsx(styles['inner-select'], testUtilStyles['filtering-token-inner-select'])\n )}\n options={[\n { value: 'and', label: andText },\n { value: 'or', label: orText },\n ]}\n selectedOption={{ value: operation, label: operation === 'and' ? andText : orText }}\n onChange={e => onChange(e.detail.selectedOption.value as FilteringTokenProps.Operation)}\n disabled={disabled}\n readOnly={readOnlyOperations}\n ariaLabel={ariaLabel}\n />\n );\n}\n\nfunction TokenDismissButton({\n ariaLabel,\n onClick,\n parent,\n disabled,\n}: {\n ariaLabel: string;\n onClick: () => void;\n parent: boolean;\n disabled?: boolean;\n}) {\n return (\n <button\n type=\"button\"\n className={clsx(\n parent\n ? clsx(styles['dismiss-button'], testUtilStyles['filtering-token-dismiss-button'])\n : clsx(styles['inner-dismiss-button'], testUtilStyles['filtering-token-inner-dismiss-button'])\n )}\n aria-label={ariaLabel}\n onClick={onClick}\n disabled={disabled}\n {...getAnalyticsMetadataAttribute({ action: 'dismiss' })}\n >\n <InternalIcon name=\"close\" />\n </button>\n );\n}\n\nfunction TokenEditButton({ ariaLabel, disabled }: { ariaLabel: string; disabled?: boolean }) {\n return (\n <button\n type=\"button\"\n className={clsx(styles['edit-button'], testUtilStyles['filtering-token-edit-button'])}\n aria-label={ariaLabel}\n disabled={disabled}\n >\n <InternalIcon name=\"edit\" />\n </button>\n );\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/property-filter/filtering-token/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\n\nimport React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useDensityMode, useMergeRefs } from '@cloudscape-design/component-toolkit/internal';\nimport {\n copyAnalyticsMetadataAttribute,\n getAnalyticsMetadataAttribute,\n} from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../../icon/internal';\nimport { useListFocusController } from '../../internal/hooks/use-list-focus-controller';\nimport { PopoverProps } from '../../popover/interfaces';\nimport InternalPopover, { InternalPopoverProps } from '../../popover/internal';\nimport InternalSelect from '../../select/internal';\nimport { GeneratedAnalyticsMetadataPropertyEditStart } from '../analytics-metadata/interfaces';\n\nimport testUtilStyles from '../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport namespace FilteringTokenProps {\n export type Operation = 'and' | 'or';\n}\n\nexport interface FilteringTokenProps {\n tokens: TokenItem[];\n operation: FilteringTokenProps.Operation;\n groupOperation: FilteringTokenProps.Operation;\n showOperation: boolean;\n readOnlyOperations: boolean;\n andText: string;\n orText: string;\n groupAriaLabel: string;\n operationAriaLabel: string;\n groupEditAriaLabel: string;\n disabled?: boolean;\n onChangeOperation: (operation: FilteringTokenProps.Operation) => void;\n onChangeGroupOperation: (operation: FilteringTokenProps.Operation) => void;\n onDismissToken: (tokenIndex: number) => void;\n editorContent: React.ReactNode;\n editorHeader: string;\n editorDismissAriaLabel?: string;\n editorExpandToViewport: boolean;\n onEditorOpen?: () => void;\n hasGroups: boolean;\n popoverSize: InternalPopoverProps['size'];\n}\n\nexport interface FilteringTokenRef {\n closeEditor(): void;\n}\n\ninterface TokenItem {\n content: React.ReactNode;\n ariaLabel: string;\n dismissAriaLabel: string;\n}\n\nconst FilteringToken = forwardRef(\n (\n {\n tokens,\n showOperation,\n readOnlyOperations,\n operation,\n groupOperation,\n andText,\n orText,\n groupAriaLabel,\n operationAriaLabel,\n groupEditAriaLabel,\n disabled = false,\n onChangeOperation,\n onChangeGroupOperation,\n onDismissToken,\n editorContent,\n editorHeader,\n editorDismissAriaLabel,\n editorExpandToViewport,\n onEditorOpen,\n hasGroups,\n popoverSize,\n ...rest\n }: FilteringTokenProps,\n ref: React.Ref<FilteringTokenRef>\n ) => {\n const [nextFocusIndex, setNextFocusIndex] = useState<null | number>(null);\n const tokenListRef = useListFocusController({\n nextFocusIndex,\n onFocusMoved: target => {\n target.focus();\n setNextFocusIndex(null);\n },\n listItemSelector: `.${styles['inner-root']}`,\n fallbackSelector: `.${styles.root}`,\n });\n\n const popoverRef = useRef<PopoverProps.Ref>(null);\n const popoverProps: InternalPopoverProps = {\n content: editorContent,\n triggerType: 'text',\n header: editorHeader,\n size: popoverSize,\n position: 'bottom',\n dismissAriaLabel: editorDismissAriaLabel,\n renderWithPortal: editorExpandToViewport,\n __onOpen: onEditorOpen,\n __closeAnalyticsAction: 'editClose',\n };\n useImperativeHandle(ref, () => ({ closeEditor: () => popoverRef.current?.focus() }));\n\n return (\n <TokenGroup\n ref={tokenListRef}\n ariaLabel={tokens.length === 1 ? tokens[0].ariaLabel : groupAriaLabel}\n operation={\n showOperation && (\n <OperationSelector\n operation={operation}\n onChange={onChangeOperation}\n ariaLabel={operationAriaLabel}\n andText={andText}\n orText={orText}\n parent={true}\n readOnlyOperations={readOnlyOperations}\n disabled={disabled}\n />\n )\n }\n tokenAction={\n tokens.length === 1 ? (\n <TokenDismissButton\n ariaLabel={tokens[0].dismissAriaLabel}\n onClick={() => onDismissToken(0)}\n parent={true}\n disabled={disabled}\n />\n ) : (\n <InternalPopover ref={popoverRef} {...popoverProps} triggerType=\"filtering-token\">\n <TokenEditButton ariaLabel={groupEditAriaLabel} disabled={disabled} />\n </InternalPopover>\n )\n }\n parent={true}\n grouped={tokens.length > 1}\n disabled={disabled}\n hasGroups={hasGroups}\n {...copyAnalyticsMetadataAttribute(rest)}\n >\n {tokens.length === 1 ? (\n <InternalPopover ref={popoverRef} {...popoverProps}>\n <span\n {...getAnalyticsMetadataAttribute({\n action: 'editStart',\n } as Partial<GeneratedAnalyticsMetadataPropertyEditStart>)}\n >\n {tokens[0].content}\n </span>\n </InternalPopover>\n ) : (\n <ul className={styles.list}>\n {tokens.map((token, index) => (\n <li key={index}>\n <TokenGroup\n ariaLabel={token.ariaLabel}\n operation={\n index !== 0 && (\n <OperationSelector\n operation={groupOperation}\n onChange={onChangeGroupOperation}\n ariaLabel={operationAriaLabel}\n andText={andText}\n orText={orText}\n parent={false}\n readOnlyOperations={readOnlyOperations}\n disabled={disabled}\n />\n )\n }\n tokenAction={\n <TokenDismissButton\n ariaLabel={token.dismissAriaLabel}\n onClick={() => {\n onDismissToken(index);\n setNextFocusIndex(index);\n }}\n parent={false}\n disabled={disabled}\n />\n }\n parent={false}\n grouped={false}\n disabled={disabled}\n hasGroups={false}\n >\n {token.content}\n </TokenGroup>\n </li>\n ))}\n </ul>\n )}\n </TokenGroup>\n );\n }\n);\n\nexport default FilteringToken;\n\nconst TokenGroup = forwardRef(\n (\n {\n ariaLabel,\n children,\n operation,\n tokenAction,\n parent,\n grouped,\n disabled,\n hasGroups,\n ...rest\n }: {\n ariaLabel?: string;\n children: React.ReactNode;\n operation: React.ReactNode;\n tokenAction: React.ReactNode;\n parent: boolean;\n grouped: boolean;\n disabled: boolean;\n hasGroups: boolean;\n },\n ref: React.Ref<HTMLDivElement>\n ) => {\n const groupRef = useRef<HTMLDivElement>(null);\n const mergedRef = useMergeRefs(ref, groupRef);\n const isCompactMode = useDensityMode(groupRef) === 'compact';\n return (\n <div\n ref={mergedRef}\n className={clsx(\n parent\n ? clsx(styles.root, testUtilStyles['filtering-token'])\n : clsx(styles['inner-root'], testUtilStyles['filtering-token-inner']),\n hasGroups && styles['has-groups'],\n isCompactMode && styles['compact-mode']\n )}\n role=\"group\"\n aria-label={ariaLabel}\n {...copyAnalyticsMetadataAttribute(rest)}\n >\n {operation}\n\n <div\n className={clsx(\n parent ? styles.token : styles['inner-token'],\n !!operation && styles['show-operation'],\n grouped && styles.grouped,\n disabled && styles['token-disabled']\n )}\n aria-disabled={disabled}\n >\n <div\n className={clsx(\n parent\n ? clsx(styles['token-content'], testUtilStyles['filtering-token-content'])\n : clsx(styles['inner-token-content'], testUtilStyles['filtering-token-inner-content']),\n grouped && styles['token-content-grouped']\n )}\n >\n {children}\n </div>\n\n {tokenAction}\n </div>\n </div>\n );\n }\n);\n\nfunction OperationSelector({\n operation,\n onChange,\n ariaLabel,\n andText,\n orText,\n parent,\n readOnlyOperations,\n disabled,\n}: {\n operation: FilteringTokenProps.Operation;\n onChange: (operation: FilteringTokenProps.Operation) => void;\n andText: string;\n orText: string;\n ariaLabel: string;\n parent: boolean;\n readOnlyOperations: boolean;\n disabled?: boolean;\n}) {\n return (\n <InternalSelect\n __inFilteringToken={parent ? 'root' : 'nested'}\n className={clsx(\n parent\n ? clsx(styles.select, testUtilStyles['filtering-token-select'])\n : clsx(styles['inner-select'], testUtilStyles['filtering-token-inner-select'])\n )}\n options={[\n { value: 'and', label: andText },\n { value: 'or', label: orText },\n ]}\n selectedOption={{ value: operation, label: operation === 'and' ? andText : orText }}\n onChange={e => onChange(e.detail.selectedOption.value as FilteringTokenProps.Operation)}\n disabled={disabled}\n readOnly={readOnlyOperations}\n ariaLabel={ariaLabel}\n />\n );\n}\n\nfunction TokenDismissButton({\n ariaLabel,\n onClick,\n parent,\n disabled,\n}: {\n ariaLabel: string;\n onClick: () => void;\n parent: boolean;\n disabled?: boolean;\n}) {\n return (\n <button\n type=\"button\"\n className={clsx(\n parent\n ? clsx(styles['dismiss-button'], testUtilStyles['filtering-token-dismiss-button'])\n : clsx(styles['inner-dismiss-button'], testUtilStyles['filtering-token-inner-dismiss-button'])\n )}\n aria-label={ariaLabel}\n onClick={onClick}\n disabled={disabled}\n {...getAnalyticsMetadataAttribute({ action: 'dismiss' })}\n >\n <InternalIcon name=\"close\" />\n </button>\n );\n}\n\nfunction TokenEditButton({ ariaLabel, disabled }: { ariaLabel: string; disabled?: boolean }) {\n return (\n <button\n type=\"button\"\n className={clsx(styles['edit-button'], testUtilStyles['filtering-token-edit-button'])}\n aria-label={ariaLabel}\n disabled={disabled}\n >\n <InternalIcon name=\"edit\" />\n </button>\n );\n}\n"]}
@@ -23,17 +23,48 @@ export function usePropertyFilterI18n(def = {}) {
23
23
  const tokenValue = valueFormatter ? valueFormatter(token.value) : token.value;
24
24
  return { propertyKey: (_c = token.property) === null || _c === void 0 ? void 0 : _c.propertyKey, propertyLabel, operator: token.operator, value: tokenValue };
25
25
  }
26
- return Object.assign(Object.assign({}, def), { allPropertiesLabel,
26
+ return {
27
+ ...def,
28
+ allPropertiesLabel,
27
29
  operationAndText,
28
- operationOrText, applyActionText: i18n('i18nStrings.applyActionText', def === null || def === void 0 ? void 0 : def.applyActionText), cancelActionText: i18n('i18nStrings.cancelActionText', def === null || def === void 0 ? void 0 : def.cancelActionText), clearFiltersText: i18n('i18nStrings.clearFiltersText', def === null || def === void 0 ? void 0 : def.clearFiltersText), editTokenHeader: i18n('i18nStrings.editTokenHeader', def === null || def === void 0 ? void 0 : def.editTokenHeader), groupPropertiesText: i18n('i18nStrings.groupPropertiesText', def === null || def === void 0 ? void 0 : def.groupPropertiesText), groupValuesText: i18n('i18nStrings.groupValuesText', def === null || def === void 0 ? void 0 : def.groupValuesText), operatorContainsText: i18n('i18nStrings.operatorContainsText', def === null || def === void 0 ? void 0 : def.operatorContainsText), operatorDoesNotContainText: i18n('i18nStrings.operatorDoesNotContainText', def === null || def === void 0 ? void 0 : def.operatorDoesNotContainText), operatorDoesNotEqualText: i18n('i18nStrings.operatorDoesNotEqualText', def === null || def === void 0 ? void 0 : def.operatorDoesNotEqualText), operatorEqualsText: i18n('i18nStrings.operatorEqualsText', def === null || def === void 0 ? void 0 : def.operatorEqualsText), operatorGreaterOrEqualText: i18n('i18nStrings.operatorGreaterOrEqualText', def === null || def === void 0 ? void 0 : def.operatorGreaterOrEqualText), operatorGreaterText: i18n('i18nStrings.operatorGreaterText', def === null || def === void 0 ? void 0 : def.operatorGreaterText), operatorLessOrEqualText: i18n('i18nStrings.operatorLessOrEqualText', def === null || def === void 0 ? void 0 : def.operatorLessOrEqualText), operatorLessText: i18n('i18nStrings.operatorLessText', def === null || def === void 0 ? void 0 : def.operatorLessText), operatorStartsWithText: i18n('i18nStrings.operatorStartsWithText', def === null || def === void 0 ? void 0 : def.operatorStartsWithText), operatorDoesNotStartWithText: i18n('i18nStrings.operatorDoesNotStartWithText', def === null || def === void 0 ? void 0 : def.operatorDoesNotStartWithText), operatorText: i18n('i18nStrings.operatorText', def === null || def === void 0 ? void 0 : def.operatorText), operatorsText: i18n('i18nStrings.operatorsText', def === null || def === void 0 ? void 0 : def.operatorsText), propertyText: i18n('i18nStrings.propertyText', def === null || def === void 0 ? void 0 : def.propertyText), tokenLimitShowFewer: i18n('i18nStrings.tokenLimitShowFewer', def === null || def === void 0 ? void 0 : def.tokenLimitShowFewer), tokenLimitShowMore: i18n('i18nStrings.tokenLimitShowMore', def === null || def === void 0 ? void 0 : def.tokenLimitShowMore), valueText: i18n('i18nStrings.valueText', def === null || def === void 0 ? void 0 : def.valueText), tokenEditorTokenRemoveLabel: i18n('i18nStrings.tokenEditorTokenRemoveLabel', def === null || def === void 0 ? void 0 : def.tokenEditorTokenRemoveLabel), tokenEditorTokenRemoveFromGroupLabel: i18n('i18nStrings.tokenEditorTokenRemoveFromGroupLabel', def === null || def === void 0 ? void 0 : def.tokenEditorTokenRemoveFromGroupLabel), tokenEditorAddNewTokenLabel: i18n('i18nStrings.tokenEditorAddNewTokenLabel', def === null || def === void 0 ? void 0 : def.tokenEditorAddNewTokenLabel), tokenEditorAddTokenActionsAriaLabel: i18n('i18nStrings.tokenEditorAddTokenActionsAriaLabel', def === null || def === void 0 ? void 0 : def.tokenEditorAddTokenActionsAriaLabel), formatToken: token => {
30
+ operationOrText,
31
+ applyActionText: i18n('i18nStrings.applyActionText', def === null || def === void 0 ? void 0 : def.applyActionText),
32
+ cancelActionText: i18n('i18nStrings.cancelActionText', def === null || def === void 0 ? void 0 : def.cancelActionText),
33
+ clearFiltersText: i18n('i18nStrings.clearFiltersText', def === null || def === void 0 ? void 0 : def.clearFiltersText),
34
+ editTokenHeader: i18n('i18nStrings.editTokenHeader', def === null || def === void 0 ? void 0 : def.editTokenHeader),
35
+ groupPropertiesText: i18n('i18nStrings.groupPropertiesText', def === null || def === void 0 ? void 0 : def.groupPropertiesText),
36
+ groupValuesText: i18n('i18nStrings.groupValuesText', def === null || def === void 0 ? void 0 : def.groupValuesText),
37
+ operatorContainsText: i18n('i18nStrings.operatorContainsText', def === null || def === void 0 ? void 0 : def.operatorContainsText),
38
+ operatorDoesNotContainText: i18n('i18nStrings.operatorDoesNotContainText', def === null || def === void 0 ? void 0 : def.operatorDoesNotContainText),
39
+ operatorDoesNotEqualText: i18n('i18nStrings.operatorDoesNotEqualText', def === null || def === void 0 ? void 0 : def.operatorDoesNotEqualText),
40
+ operatorEqualsText: i18n('i18nStrings.operatorEqualsText', def === null || def === void 0 ? void 0 : def.operatorEqualsText),
41
+ operatorGreaterOrEqualText: i18n('i18nStrings.operatorGreaterOrEqualText', def === null || def === void 0 ? void 0 : def.operatorGreaterOrEqualText),
42
+ operatorGreaterText: i18n('i18nStrings.operatorGreaterText', def === null || def === void 0 ? void 0 : def.operatorGreaterText),
43
+ operatorLessOrEqualText: i18n('i18nStrings.operatorLessOrEqualText', def === null || def === void 0 ? void 0 : def.operatorLessOrEqualText),
44
+ operatorLessText: i18n('i18nStrings.operatorLessText', def === null || def === void 0 ? void 0 : def.operatorLessText),
45
+ operatorStartsWithText: i18n('i18nStrings.operatorStartsWithText', def === null || def === void 0 ? void 0 : def.operatorStartsWithText),
46
+ operatorDoesNotStartWithText: i18n('i18nStrings.operatorDoesNotStartWithText', def === null || def === void 0 ? void 0 : def.operatorDoesNotStartWithText),
47
+ operatorText: i18n('i18nStrings.operatorText', def === null || def === void 0 ? void 0 : def.operatorText),
48
+ operatorsText: i18n('i18nStrings.operatorsText', def === null || def === void 0 ? void 0 : def.operatorsText),
49
+ propertyText: i18n('i18nStrings.propertyText', def === null || def === void 0 ? void 0 : def.propertyText),
50
+ tokenLimitShowFewer: i18n('i18nStrings.tokenLimitShowFewer', def === null || def === void 0 ? void 0 : def.tokenLimitShowFewer),
51
+ tokenLimitShowMore: i18n('i18nStrings.tokenLimitShowMore', def === null || def === void 0 ? void 0 : def.tokenLimitShowMore),
52
+ valueText: i18n('i18nStrings.valueText', def === null || def === void 0 ? void 0 : def.valueText),
53
+ tokenEditorTokenRemoveLabel: i18n('i18nStrings.tokenEditorTokenRemoveLabel', def === null || def === void 0 ? void 0 : def.tokenEditorTokenRemoveLabel),
54
+ tokenEditorTokenRemoveFromGroupLabel: i18n('i18nStrings.tokenEditorTokenRemoveFromGroupLabel', def === null || def === void 0 ? void 0 : def.tokenEditorTokenRemoveFromGroupLabel),
55
+ tokenEditorAddNewTokenLabel: i18n('i18nStrings.tokenEditorAddNewTokenLabel', def === null || def === void 0 ? void 0 : def.tokenEditorAddNewTokenLabel),
56
+ tokenEditorAddTokenActionsAriaLabel: i18n('i18nStrings.tokenEditorAddTokenActionsAriaLabel', def === null || def === void 0 ? void 0 : def.tokenEditorAddTokenActionsAriaLabel),
57
+ formatToken: token => {
29
58
  const formattedToken = toFormatted(token);
30
- return Object.assign(Object.assign({}, formattedToken), { formattedText: formatToken(toFormatted(token)) });
31
- }, groupAriaLabel: group => {
59
+ return { ...formattedToken, formattedText: formatToken(toFormatted(token)) };
60
+ },
61
+ groupAriaLabel: group => {
32
62
  var _a;
33
63
  const tokens = tokenGroupToTokens(group.tokens).map(toFormatted);
34
64
  const groupOperationLabel = (_a = (group.operation === 'and' ? operationAndText : operationOrText)) !== null && _a !== void 0 ? _a : '';
35
65
  return tokens.map(token => formatToken(token)).join(` ${groupOperationLabel} `);
36
- }, groupEditAriaLabel: group => {
66
+ },
67
+ groupEditAriaLabel: group => {
37
68
  var _a, _b;
38
69
  const tokens = tokenGroupToTokens(group.tokens).map(token => toFormatted(token));
39
70
  const operation = group.operation;
@@ -47,23 +78,28 @@ export function usePropertyFilterI18n(def = {}) {
47
78
  group__formattedTokens3__formattedText: tokens[3] ? formatToken(tokens[3]) : '',
48
79
  }));
49
80
  return (_b = formatter === null || formatter === void 0 ? void 0 : formatter({ operation, operationLabel, tokens })) !== null && _b !== void 0 ? _b : '';
50
- }, removeTokenButtonAriaLabel: token => {
81
+ },
82
+ removeTokenButtonAriaLabel: token => {
51
83
  var _a;
52
84
  const formatter = i18n('i18nStrings.removeTokenButtonAriaLabel', def.removeTokenButtonAriaLabel, format => () => format({ token__formattedText: formatToken(toFormatted(token)) }));
53
85
  return (_a = formatter === null || formatter === void 0 ? void 0 : formatter(toFormatted(token))) !== null && _a !== void 0 ? _a : '';
54
- }, tokenEditorTokenActionsAriaLabel: (token) => {
86
+ },
87
+ tokenEditorTokenActionsAriaLabel: (token) => {
55
88
  var _a;
56
89
  const formatter = i18n('i18nStrings.tokenEditorTokenActionsAriaLabel', def.tokenEditorTokenActionsAriaLabel, format => () => format({ token__formattedText: formatToken(toFormatted(token)) }));
57
90
  return (_a = formatter === null || formatter === void 0 ? void 0 : formatter(toFormatted(token))) !== null && _a !== void 0 ? _a : '';
58
- }, tokenEditorTokenRemoveAriaLabel: token => {
91
+ },
92
+ tokenEditorTokenRemoveAriaLabel: token => {
59
93
  var _a;
60
94
  const formatter = i18n('i18nStrings.tokenEditorTokenRemoveAriaLabel', def.tokenEditorTokenRemoveAriaLabel, format => () => format({ token__formattedText: formatToken(toFormatted(token)) }));
61
95
  return (_a = formatter === null || formatter === void 0 ? void 0 : formatter(toFormatted(token))) !== null && _a !== void 0 ? _a : '';
62
- }, tokenEditorAddExistingTokenAriaLabel: token => {
96
+ },
97
+ tokenEditorAddExistingTokenAriaLabel: token => {
63
98
  var _a;
64
99
  const formatter = i18n('i18nStrings.tokenEditorAddExistingTokenAriaLabel', def.tokenEditorAddExistingTokenAriaLabel, format => () => format({ token__formattedText: formatToken(toFormatted(token)) }));
65
100
  return (_a = formatter === null || formatter === void 0 ? void 0 : formatter(toFormatted(token))) !== null && _a !== void 0 ? _a : '';
66
- }, tokenEditorAddExistingTokenLabel: token => {
101
+ },
102
+ tokenEditorAddExistingTokenLabel: token => {
67
103
  var _a;
68
104
  const formattedToken = toFormatted(token);
69
105
  const formatter = i18n('i18nStrings.tokenEditorAddExistingTokenLabel', def.tokenEditorAddExistingTokenLabel, format => () => format({
@@ -72,7 +108,8 @@ export function usePropertyFilterI18n(def = {}) {
72
108
  token__value: formattedToken.value,
73
109
  }));
74
110
  return (_a = formatter === null || formatter === void 0 ? void 0 : formatter(toFormatted(token))) !== null && _a !== void 0 ? _a : '';
75
- } });
111
+ },
112
+ };
76
113
  }
77
114
  export function operatorToDescription(operator, i18nStrings) {
78
115
  switch (operator) {
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-utils.js","sourceRoot":"","sources":["../../../src/property-filter/i18n-utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useInternalI18n } from '../i18n/context';\nimport { ComparisonOperator, FormattedToken, I18nStrings, InternalToken, InternalTokenGroup } from './interfaces';\nimport { tokenGroupToTokens } from './utils';\n\nexport type I18nStringsOperators = Pick<\n I18nStrings,\n | 'operatorLessText'\n | 'operatorLessOrEqualText'\n | 'operatorGreaterText'\n | 'operatorGreaterOrEqualText'\n | 'operatorContainsText'\n | 'operatorDoesNotContainText'\n | 'operatorEqualsText'\n | 'operatorDoesNotEqualText'\n | 'operatorStartsWithText'\n | 'operatorDoesNotStartWithText'\n>;\n\n// Replacing i18n function with ones taking internal tokens as argument.\nexport type I18nStringsInternal = Omit<\n I18nStrings,\n | 'formatToken'\n | 'removeTokenButtonAriaLabel'\n | 'groupEditAriaLabel'\n | 'tokenEditorTokenActionsAriaLabel'\n | 'tokenEditorTokenRemoveAriaLabel'\n | 'tokenEditorAddExistingTokenAriaLabel'\n | 'tokenEditorAddExistingTokenLabel'\n> & {\n formatToken: (token: InternalToken) => {\n propertyLabel: string;\n operator: string;\n value: string;\n formattedText: string;\n };\n groupAriaLabel: (group: InternalTokenGroup) => string;\n groupEditAriaLabel: (group: InternalTokenGroup) => string;\n removeTokenButtonAriaLabel: (token: InternalToken) => string;\n tokenEditorTokenActionsAriaLabel: (token: InternalToken) => string;\n tokenEditorTokenRemoveAriaLabel: (token: InternalToken) => string;\n tokenEditorAddExistingTokenAriaLabel: (token: InternalToken) => string;\n tokenEditorAddExistingTokenLabel: (token: InternalToken) => string;\n};\n\nexport function usePropertyFilterI18n(def: I18nStrings = {}): I18nStringsInternal {\n const i18n = useInternalI18n('property-filter');\n\n const allPropertiesLabel = i18n('i18nStrings.allPropertiesLabel', def?.allPropertiesLabel);\n const operationAndText = i18n('i18nStrings.operationAndText', def?.operationAndText);\n const operationOrText = i18n('i18nStrings.operationOrText', def?.operationOrText);\n const formatToken =\n i18n(\n 'i18nStrings.formatToken',\n def.formatToken,\n format => token =>\n format({\n token__propertyLabel: token.propertyLabel,\n token__operator: getOperatorI18nString(token.operator),\n token__value: token.value,\n })\n ) ?? (token => `${token.propertyLabel} ${token.operator} ${token.value}`);\n\n function toFormatted(token: InternalToken): FormattedToken {\n let valueFormatter = token.property?.getValueFormatter(token.operator);\n if (!valueFormatter && token.property?.getTokenType(token.operator) === 'enum') {\n valueFormatter = value => (Array.isArray(value) ? value.join(', ') : value);\n }\n const propertyLabel = token.property ? token.property.propertyLabel : (allPropertiesLabel ?? '');\n const tokenValue = valueFormatter ? valueFormatter(token.value) : token.value;\n return { propertyKey: token.property?.propertyKey, propertyLabel, operator: token.operator, value: tokenValue };\n }\n\n return {\n ...def,\n allPropertiesLabel,\n operationAndText,\n operationOrText,\n applyActionText: i18n('i18nStrings.applyActionText', def?.applyActionText),\n cancelActionText: i18n('i18nStrings.cancelActionText', def?.cancelActionText),\n clearFiltersText: i18n('i18nStrings.clearFiltersText', def?.clearFiltersText),\n editTokenHeader: i18n('i18nStrings.editTokenHeader', def?.editTokenHeader),\n groupPropertiesText: i18n('i18nStrings.groupPropertiesText', def?.groupPropertiesText),\n groupValuesText: i18n('i18nStrings.groupValuesText', def?.groupValuesText),\n operatorContainsText: i18n('i18nStrings.operatorContainsText', def?.operatorContainsText),\n operatorDoesNotContainText: i18n('i18nStrings.operatorDoesNotContainText', def?.operatorDoesNotContainText),\n operatorDoesNotEqualText: i18n('i18nStrings.operatorDoesNotEqualText', def?.operatorDoesNotEqualText),\n operatorEqualsText: i18n('i18nStrings.operatorEqualsText', def?.operatorEqualsText),\n operatorGreaterOrEqualText: i18n('i18nStrings.operatorGreaterOrEqualText', def?.operatorGreaterOrEqualText),\n operatorGreaterText: i18n('i18nStrings.operatorGreaterText', def?.operatorGreaterText),\n operatorLessOrEqualText: i18n('i18nStrings.operatorLessOrEqualText', def?.operatorLessOrEqualText),\n operatorLessText: i18n('i18nStrings.operatorLessText', def?.operatorLessText),\n operatorStartsWithText: i18n('i18nStrings.operatorStartsWithText', def?.operatorStartsWithText),\n operatorDoesNotStartWithText: i18n('i18nStrings.operatorDoesNotStartWithText', def?.operatorDoesNotStartWithText),\n operatorText: i18n('i18nStrings.operatorText', def?.operatorText),\n operatorsText: i18n('i18nStrings.operatorsText', def?.operatorsText),\n propertyText: i18n('i18nStrings.propertyText', def?.propertyText),\n tokenLimitShowFewer: i18n('i18nStrings.tokenLimitShowFewer', def?.tokenLimitShowFewer),\n tokenLimitShowMore: i18n('i18nStrings.tokenLimitShowMore', def?.tokenLimitShowMore),\n valueText: i18n('i18nStrings.valueText', def?.valueText),\n tokenEditorTokenRemoveLabel: i18n('i18nStrings.tokenEditorTokenRemoveLabel', def?.tokenEditorTokenRemoveLabel),\n tokenEditorTokenRemoveFromGroupLabel: i18n(\n 'i18nStrings.tokenEditorTokenRemoveFromGroupLabel',\n def?.tokenEditorTokenRemoveFromGroupLabel\n ),\n tokenEditorAddNewTokenLabel: i18n('i18nStrings.tokenEditorAddNewTokenLabel', def?.tokenEditorAddNewTokenLabel),\n tokenEditorAddTokenActionsAriaLabel: i18n(\n 'i18nStrings.tokenEditorAddTokenActionsAriaLabel',\n def?.tokenEditorAddTokenActionsAriaLabel\n ),\n formatToken: token => {\n const formattedToken = toFormatted(token);\n return { ...formattedToken, formattedText: formatToken(toFormatted(token)) };\n },\n groupAriaLabel: group => {\n const tokens = tokenGroupToTokens<InternalToken>(group.tokens).map(toFormatted);\n const groupOperationLabel = (group.operation === 'and' ? operationAndText : operationOrText) ?? '';\n return tokens.map(token => formatToken(token)).join(` ${groupOperationLabel} `);\n },\n groupEditAriaLabel: group => {\n const tokens = tokenGroupToTokens<InternalToken>(group.tokens).map(token => toFormatted(token));\n const operation = group.operation;\n const operationLabel = (operation === 'and' ? operationAndText : operationOrText) ?? '';\n const formatter = i18n(\n 'i18nStrings.groupEditAriaLabel',\n def.groupEditAriaLabel,\n format => () =>\n format({\n group__operationLabel: operationLabel,\n group__formattedTokens__length: tokens.length.toString(),\n group__formattedTokens0__formattedText: tokens[0] ? formatToken(tokens[0]) : '',\n group__formattedTokens1__formattedText: tokens[1] ? formatToken(tokens[1]) : '',\n group__formattedTokens2__formattedText: tokens[2] ? formatToken(tokens[2]) : '',\n group__formattedTokens3__formattedText: tokens[3] ? formatToken(tokens[3]) : '',\n })\n );\n return formatter?.({ operation, operationLabel, tokens }) ?? '';\n },\n removeTokenButtonAriaLabel: token => {\n const formatter = i18n(\n 'i18nStrings.removeTokenButtonAriaLabel',\n def.removeTokenButtonAriaLabel,\n format => () => format({ token__formattedText: formatToken(toFormatted(token)) })\n );\n return formatter?.(toFormatted(token)) ?? '';\n },\n tokenEditorTokenActionsAriaLabel: (token: InternalToken) => {\n const formatter = i18n(\n 'i18nStrings.tokenEditorTokenActionsAriaLabel',\n def.tokenEditorTokenActionsAriaLabel,\n format => () => format({ token__formattedText: formatToken(toFormatted(token)) })\n );\n return formatter?.(toFormatted(token)) ?? '';\n },\n tokenEditorTokenRemoveAriaLabel: token => {\n const formatter = i18n(\n 'i18nStrings.tokenEditorTokenRemoveAriaLabel',\n def.tokenEditorTokenRemoveAriaLabel,\n format => () => format({ token__formattedText: formatToken(toFormatted(token)) })\n );\n return formatter?.(toFormatted(token)) ?? '';\n },\n tokenEditorAddExistingTokenAriaLabel: token => {\n const formatter = i18n(\n 'i18nStrings.tokenEditorAddExistingTokenAriaLabel',\n def.tokenEditorAddExistingTokenAriaLabel,\n format => () => format({ token__formattedText: formatToken(toFormatted(token)) })\n );\n return formatter?.(toFormatted(token)) ?? '';\n },\n tokenEditorAddExistingTokenLabel: token => {\n const formattedToken = toFormatted(token);\n const formatter = i18n(\n 'i18nStrings.tokenEditorAddExistingTokenLabel',\n def.tokenEditorAddExistingTokenLabel,\n format => () =>\n format({\n token__propertyLabel: formattedToken.propertyLabel,\n token__operator: formattedToken.operator,\n token__value: formattedToken.value,\n })\n );\n return formatter?.(toFormatted(token)) ?? '';\n },\n };\n}\n\nexport function operatorToDescription(operator: ComparisonOperator, i18nStrings: I18nStringsOperators) {\n switch (operator) {\n case '<':\n return i18nStrings.operatorLessText;\n case '<=':\n return i18nStrings.operatorLessOrEqualText;\n case '>':\n return i18nStrings.operatorGreaterText;\n case '>=':\n return i18nStrings.operatorGreaterOrEqualText;\n case ':':\n return i18nStrings.operatorContainsText;\n case '!:':\n return i18nStrings.operatorDoesNotContainText;\n case '=':\n return i18nStrings.operatorEqualsText;\n case '!=':\n return i18nStrings.operatorDoesNotEqualText;\n case '^':\n return i18nStrings.operatorStartsWithText;\n case '!^':\n return i18nStrings.operatorDoesNotStartWithText;\n // The line is ignored from coverage because it is not reachable.\n // The purpose of it is to prevent TS errors if ComparisonOperator type gets extended.\n /* istanbul ignore next */\n default:\n return '';\n }\n}\n\nfunction getOperatorI18nString(operator: ComparisonOperator): string {\n switch (operator) {\n case '=':\n return 'equals';\n case '!=':\n return 'not_equals';\n case '>':\n return 'greater_than';\n case '>=':\n return 'greater_than_equal';\n case '<':\n return 'less_than';\n case '<=':\n return 'less_than_equal';\n case ':':\n return 'contains';\n case '!:':\n return 'not_contains';\n case '^':\n return 'starts_with';\n case '!^':\n return 'not_starts_with';\n // The line is ignored from coverage because it is not reachable.\n // The purpose of it is to prevent TS errors if ComparisonOperator type gets extended.\n /* istanbul ignore next */\n default:\n return operator;\n }\n}\n"]}
1
+ {"version":3,"file":"i18n-utils.js","sourceRoot":"","sources":["../../../src/property-filter/i18n-utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useInternalI18n } from '../i18n/context';\nimport { ComparisonOperator, FormattedToken, I18nStrings, InternalToken, InternalTokenGroup } from './interfaces';\nimport { tokenGroupToTokens } from './utils';\n\nexport type I18nStringsOperators = Pick<\n I18nStrings,\n | 'operatorLessText'\n | 'operatorLessOrEqualText'\n | 'operatorGreaterText'\n | 'operatorGreaterOrEqualText'\n | 'operatorContainsText'\n | 'operatorDoesNotContainText'\n | 'operatorEqualsText'\n | 'operatorDoesNotEqualText'\n | 'operatorStartsWithText'\n | 'operatorDoesNotStartWithText'\n>;\n\n// Replacing i18n function with ones taking internal tokens as argument.\nexport type I18nStringsInternal = Omit<\n I18nStrings,\n | 'formatToken'\n | 'removeTokenButtonAriaLabel'\n | 'groupEditAriaLabel'\n | 'tokenEditorTokenActionsAriaLabel'\n | 'tokenEditorTokenRemoveAriaLabel'\n | 'tokenEditorAddExistingTokenAriaLabel'\n | 'tokenEditorAddExistingTokenLabel'\n> & {\n formatToken: (token: InternalToken) => {\n propertyLabel: string;\n operator: string;\n value: string;\n formattedText: string;\n };\n groupAriaLabel: (group: InternalTokenGroup) => string;\n groupEditAriaLabel: (group: InternalTokenGroup) => string;\n removeTokenButtonAriaLabel: (token: InternalToken) => string;\n tokenEditorTokenActionsAriaLabel: (token: InternalToken) => string;\n tokenEditorTokenRemoveAriaLabel: (token: InternalToken) => string;\n tokenEditorAddExistingTokenAriaLabel: (token: InternalToken) => string;\n tokenEditorAddExistingTokenLabel: (token: InternalToken) => string;\n};\n\nexport function usePropertyFilterI18n(def: I18nStrings = {}): I18nStringsInternal {\n const i18n = useInternalI18n('property-filter');\n\n const allPropertiesLabel = i18n('i18nStrings.allPropertiesLabel', def?.allPropertiesLabel);\n const operationAndText = i18n('i18nStrings.operationAndText', def?.operationAndText);\n const operationOrText = i18n('i18nStrings.operationOrText', def?.operationOrText);\n const formatToken =\n i18n(\n 'i18nStrings.formatToken',\n def.formatToken,\n format => token =>\n format({\n token__propertyLabel: token.propertyLabel,\n token__operator: getOperatorI18nString(token.operator),\n token__value: token.value,\n })\n ) ?? (token => `${token.propertyLabel} ${token.operator} ${token.value}`);\n\n function toFormatted(token: InternalToken): FormattedToken {\n let valueFormatter = token.property?.getValueFormatter(token.operator);\n if (!valueFormatter && token.property?.getTokenType(token.operator) === 'enum') {\n valueFormatter = value => (Array.isArray(value) ? value.join(', ') : value);\n }\n const propertyLabel = token.property ? token.property.propertyLabel : (allPropertiesLabel ?? '');\n const tokenValue = valueFormatter ? valueFormatter(token.value) : token.value;\n return { propertyKey: token.property?.propertyKey, propertyLabel, operator: token.operator, value: tokenValue };\n }\n\n return {\n ...def,\n allPropertiesLabel,\n operationAndText,\n operationOrText,\n applyActionText: i18n('i18nStrings.applyActionText', def?.applyActionText),\n cancelActionText: i18n('i18nStrings.cancelActionText', def?.cancelActionText),\n clearFiltersText: i18n('i18nStrings.clearFiltersText', def?.clearFiltersText),\n editTokenHeader: i18n('i18nStrings.editTokenHeader', def?.editTokenHeader),\n groupPropertiesText: i18n('i18nStrings.groupPropertiesText', def?.groupPropertiesText),\n groupValuesText: i18n('i18nStrings.groupValuesText', def?.groupValuesText),\n operatorContainsText: i18n('i18nStrings.operatorContainsText', def?.operatorContainsText),\n operatorDoesNotContainText: i18n('i18nStrings.operatorDoesNotContainText', def?.operatorDoesNotContainText),\n operatorDoesNotEqualText: i18n('i18nStrings.operatorDoesNotEqualText', def?.operatorDoesNotEqualText),\n operatorEqualsText: i18n('i18nStrings.operatorEqualsText', def?.operatorEqualsText),\n operatorGreaterOrEqualText: i18n('i18nStrings.operatorGreaterOrEqualText', def?.operatorGreaterOrEqualText),\n operatorGreaterText: i18n('i18nStrings.operatorGreaterText', def?.operatorGreaterText),\n operatorLessOrEqualText: i18n('i18nStrings.operatorLessOrEqualText', def?.operatorLessOrEqualText),\n operatorLessText: i18n('i18nStrings.operatorLessText', def?.operatorLessText),\n operatorStartsWithText: i18n('i18nStrings.operatorStartsWithText', def?.operatorStartsWithText),\n operatorDoesNotStartWithText: i18n('i18nStrings.operatorDoesNotStartWithText', def?.operatorDoesNotStartWithText),\n operatorText: i18n('i18nStrings.operatorText', def?.operatorText),\n operatorsText: i18n('i18nStrings.operatorsText', def?.operatorsText),\n propertyText: i18n('i18nStrings.propertyText', def?.propertyText),\n tokenLimitShowFewer: i18n('i18nStrings.tokenLimitShowFewer', def?.tokenLimitShowFewer),\n tokenLimitShowMore: i18n('i18nStrings.tokenLimitShowMore', def?.tokenLimitShowMore),\n valueText: i18n('i18nStrings.valueText', def?.valueText),\n tokenEditorTokenRemoveLabel: i18n('i18nStrings.tokenEditorTokenRemoveLabel', def?.tokenEditorTokenRemoveLabel),\n tokenEditorTokenRemoveFromGroupLabel: i18n(\n 'i18nStrings.tokenEditorTokenRemoveFromGroupLabel',\n def?.tokenEditorTokenRemoveFromGroupLabel\n ),\n tokenEditorAddNewTokenLabel: i18n('i18nStrings.tokenEditorAddNewTokenLabel', def?.tokenEditorAddNewTokenLabel),\n tokenEditorAddTokenActionsAriaLabel: i18n(\n 'i18nStrings.tokenEditorAddTokenActionsAriaLabel',\n def?.tokenEditorAddTokenActionsAriaLabel\n ),\n formatToken: token => {\n const formattedToken = toFormatted(token);\n return { ...formattedToken, formattedText: formatToken(toFormatted(token)) };\n },\n groupAriaLabel: group => {\n const tokens = tokenGroupToTokens<InternalToken>(group.tokens).map(toFormatted);\n const groupOperationLabel = (group.operation === 'and' ? operationAndText : operationOrText) ?? '';\n return tokens.map(token => formatToken(token)).join(` ${groupOperationLabel} `);\n },\n groupEditAriaLabel: group => {\n const tokens = tokenGroupToTokens<InternalToken>(group.tokens).map(token => toFormatted(token));\n const operation = group.operation;\n const operationLabel = (operation === 'and' ? operationAndText : operationOrText) ?? '';\n const formatter = i18n(\n 'i18nStrings.groupEditAriaLabel',\n def.groupEditAriaLabel,\n format => () =>\n format({\n group__operationLabel: operationLabel,\n group__formattedTokens__length: tokens.length.toString(),\n group__formattedTokens0__formattedText: tokens[0] ? formatToken(tokens[0]) : '',\n group__formattedTokens1__formattedText: tokens[1] ? formatToken(tokens[1]) : '',\n group__formattedTokens2__formattedText: tokens[2] ? formatToken(tokens[2]) : '',\n group__formattedTokens3__formattedText: tokens[3] ? formatToken(tokens[3]) : '',\n })\n );\n return formatter?.({ operation, operationLabel, tokens }) ?? '';\n },\n removeTokenButtonAriaLabel: token => {\n const formatter = i18n(\n 'i18nStrings.removeTokenButtonAriaLabel',\n def.removeTokenButtonAriaLabel,\n format => () => format({ token__formattedText: formatToken(toFormatted(token)) })\n );\n return formatter?.(toFormatted(token)) ?? '';\n },\n tokenEditorTokenActionsAriaLabel: (token: InternalToken) => {\n const formatter = i18n(\n 'i18nStrings.tokenEditorTokenActionsAriaLabel',\n def.tokenEditorTokenActionsAriaLabel,\n format => () => format({ token__formattedText: formatToken(toFormatted(token)) })\n );\n return formatter?.(toFormatted(token)) ?? '';\n },\n tokenEditorTokenRemoveAriaLabel: token => {\n const formatter = i18n(\n 'i18nStrings.tokenEditorTokenRemoveAriaLabel',\n def.tokenEditorTokenRemoveAriaLabel,\n format => () => format({ token__formattedText: formatToken(toFormatted(token)) })\n );\n return formatter?.(toFormatted(token)) ?? '';\n },\n tokenEditorAddExistingTokenAriaLabel: token => {\n const formatter = i18n(\n 'i18nStrings.tokenEditorAddExistingTokenAriaLabel',\n def.tokenEditorAddExistingTokenAriaLabel,\n format => () => format({ token__formattedText: formatToken(toFormatted(token)) })\n );\n return formatter?.(toFormatted(token)) ?? '';\n },\n tokenEditorAddExistingTokenLabel: token => {\n const formattedToken = toFormatted(token);\n const formatter = i18n(\n 'i18nStrings.tokenEditorAddExistingTokenLabel',\n def.tokenEditorAddExistingTokenLabel,\n format => () =>\n format({\n token__propertyLabel: formattedToken.propertyLabel,\n token__operator: formattedToken.operator,\n token__value: formattedToken.value,\n })\n );\n return formatter?.(toFormatted(token)) ?? '';\n },\n };\n}\n\nexport function operatorToDescription(operator: ComparisonOperator, i18nStrings: I18nStringsOperators) {\n switch (operator) {\n case '<':\n return i18nStrings.operatorLessText;\n case '<=':\n return i18nStrings.operatorLessOrEqualText;\n case '>':\n return i18nStrings.operatorGreaterText;\n case '>=':\n return i18nStrings.operatorGreaterOrEqualText;\n case ':':\n return i18nStrings.operatorContainsText;\n case '!:':\n return i18nStrings.operatorDoesNotContainText;\n case '=':\n return i18nStrings.operatorEqualsText;\n case '!=':\n return i18nStrings.operatorDoesNotEqualText;\n case '^':\n return i18nStrings.operatorStartsWithText;\n case '!^':\n return i18nStrings.operatorDoesNotStartWithText;\n // The line is ignored from coverage because it is not reachable.\n // The purpose of it is to prevent TS errors if ComparisonOperator type gets extended.\n /* istanbul ignore next */\n default:\n return '';\n }\n}\n\nfunction getOperatorI18nString(operator: ComparisonOperator): string {\n switch (operator) {\n case '=':\n return 'equals';\n case '!=':\n return 'not_equals';\n case '>':\n return 'greater_than';\n case '>=':\n return 'greater_than_equal';\n case '<':\n return 'less_than';\n case '<=':\n return 'less_than_equal';\n case ':':\n return 'contains';\n case '!:':\n return 'not_contains';\n case '^':\n return 'starts_with';\n case '!^':\n return 'not_starts_with';\n // The line is ignored from coverage because it is not reachable.\n // The purpose of it is to prevent TS errors if ComparisonOperator type gets extended.\n /* istanbul ignore next */\n default:\n return operator;\n }\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  'use client';
4
- import { __rest } from "tslib";
5
4
  import React from 'react';
6
5
  import { warnOnce } from '@cloudscape-design/component-toolkit/internal';
7
6
  import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
@@ -9,14 +8,13 @@ import useBaseComponent from '../internal/hooks/use-base-component';
9
8
  import { applyDisplayName } from '../internal/utils/apply-display-name';
10
9
  import PropertyFilterInternal from './internal';
11
10
  import analyticsSelectors from './analytics-metadata/styles.css.js';
12
- const PropertyFilter = React.forwardRef((_a, ref) => {
13
- var _b;
14
- var { filteringProperties, filteringOptions = [], customGroupsText = [], enableTokenGroups = false, disableFreeTextFiltering = false, asyncProperties, expandToViewport, hideOperations = false, readOnlyOperations = false, tokenLimit, virtualScroll } = _a, rest = __rest(_a, ["filteringProperties", "filteringOptions", "customGroupsText", "enableTokenGroups", "disableFreeTextFiltering", "asyncProperties", "expandToViewport", "hideOperations", "readOnlyOperations", "tokenLimit", "virtualScroll"]);
11
+ const PropertyFilter = React.forwardRef(({ filteringProperties, filteringOptions = [], customGroupsText = [], enableTokenGroups = false, disableFreeTextFiltering = false, asyncProperties, expandToViewport, hideOperations = false, readOnlyOperations = false, tokenLimit, virtualScroll, ...rest }, ref) => {
12
+ var _a;
15
13
  let hasCustomForms = false;
16
14
  let hasEnumTokens = false;
17
15
  let hasCustomFormatters = false;
18
16
  for (const property of filteringProperties) {
19
- for (const operator of (_b = property.operators) !== null && _b !== void 0 ? _b : []) {
17
+ for (const operator of (_a = property.operators) !== null && _a !== void 0 ? _a : []) {
20
18
  if (typeof operator === 'object') {
21
19
  hasCustomForms = hasCustomForms || !!operator.form;
22
20
  hasEnumTokens = hasEnumTokens || operator.tokenType === 'enum';
@@ -53,7 +51,7 @@ const PropertyFilter = React.forwardRef((_a, ref) => {
53
51
  warnOnce('PropertyFilter', 'Operations cannot be hidden when token groups are enabled.');
54
52
  hideOperations = false;
55
53
  }
56
- return (React.createElement(PropertyFilterInternal, Object.assign({ ref: ref }, baseComponentProps, { filteringProperties: filteringProperties, filteringOptions: filteringOptions, customGroupsText: customGroupsText, enableTokenGroups: enableTokenGroups, disableFreeTextFiltering: disableFreeTextFiltering, asyncProperties: asyncProperties, expandToViewport: expandToViewport, hideOperations: hideOperations, readOnlyOperations: readOnlyOperations, tokenLimit: tokenLimit, virtualScroll: virtualScroll }, getAnalyticsMetadataAttribute({ component: componentAnalyticsMetadata }), rest)));
54
+ return (React.createElement(PropertyFilterInternal, { ref: ref, ...baseComponentProps, filteringProperties: filteringProperties, filteringOptions: filteringOptions, customGroupsText: customGroupsText, enableTokenGroups: enableTokenGroups, disableFreeTextFiltering: disableFreeTextFiltering, asyncProperties: asyncProperties, expandToViewport: expandToViewport, hideOperations: hideOperations, readOnlyOperations: readOnlyOperations, tokenLimit: tokenLimit, virtualScroll: virtualScroll, ...getAnalyticsMetadataAttribute({ component: componentAnalyticsMetadata }), ...rest }));
57
55
  });
58
56
  applyDisplayName(PropertyFilter, 'PropertyFilter');
59
57
  export default PropertyFilter;
@@ -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\n'use client';\nimport React from 'react';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataPropertyFilterComponent } from './analytics-metadata/interfaces';\nimport { PropertyFilterProps, Ref } from './interfaces';\nimport PropertyFilterInternal from './internal';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\n\nexport { PropertyFilterProps };\n\nconst PropertyFilter = React.forwardRef(\n (\n {\n filteringProperties,\n filteringOptions = [],\n customGroupsText = [],\n enableTokenGroups = false,\n disableFreeTextFiltering = false,\n asyncProperties,\n expandToViewport,\n hideOperations = false,\n readOnlyOperations = false,\n tokenLimit,\n virtualScroll,\n ...rest\n }: PropertyFilterProps,\n ref: React.Ref<Ref>\n ) => {\n let hasCustomForms = false;\n let hasEnumTokens = false;\n let hasCustomFormatters = false;\n for (const property of filteringProperties) {\n for (const operator of property.operators ?? []) {\n if (typeof operator === 'object') {\n hasCustomForms = hasCustomForms || !!operator.form;\n hasEnumTokens = hasEnumTokens || operator.tokenType === 'enum';\n hasCustomFormatters = hasCustomFormatters || !!operator.format;\n }\n }\n }\n\n const baseComponentProps = useBaseComponent('PropertyFilter', {\n props: {\n asyncProperties,\n disableFreeTextFiltering,\n enableTokenGroups,\n expandToViewport,\n hideOperations,\n readOnlyOperations,\n tokenLimit,\n virtualScroll,\n },\n metadata: {\n hasCustomForms,\n hasEnumTokens,\n hasCustomFormatters,\n },\n });\n\n const componentAnalyticsMetadata: GeneratedAnalyticsMetadataPropertyFilterComponent = {\n name: 'awsui.PropertyFilter',\n label: `.${analyticsSelectors['search-field']} input`,\n properties: {\n disabled: `${!!rest.disabled}`,\n queryTokensCount: `${rest.query && rest.query.tokens ? rest.query.tokens.length : 0}`,\n },\n };\n\n if (hideOperations && enableTokenGroups) {\n warnOnce('PropertyFilter', 'Operations cannot be hidden when token groups are enabled.');\n hideOperations = false;\n }\n\n return (\n <PropertyFilterInternal\n ref={ref}\n {...baseComponentProps}\n filteringProperties={filteringProperties}\n filteringOptions={filteringOptions}\n customGroupsText={customGroupsText}\n enableTokenGroups={enableTokenGroups}\n disableFreeTextFiltering={disableFreeTextFiltering}\n asyncProperties={asyncProperties}\n expandToViewport={expandToViewport}\n hideOperations={hideOperations}\n readOnlyOperations={readOnlyOperations}\n tokenLimit={tokenLimit}\n virtualScroll={virtualScroll}\n {...getAnalyticsMetadataAttribute({ component: componentAnalyticsMetadata })}\n {...rest}\n />\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\n'use client';\nimport React from 'react';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataPropertyFilterComponent } from './analytics-metadata/interfaces';\nimport { PropertyFilterProps, Ref } from './interfaces';\nimport PropertyFilterInternal from './internal';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\n\nexport { PropertyFilterProps };\n\nconst PropertyFilter = React.forwardRef(\n (\n {\n filteringProperties,\n filteringOptions = [],\n customGroupsText = [],\n enableTokenGroups = false,\n disableFreeTextFiltering = false,\n asyncProperties,\n expandToViewport,\n hideOperations = false,\n readOnlyOperations = false,\n tokenLimit,\n virtualScroll,\n ...rest\n }: PropertyFilterProps,\n ref: React.Ref<Ref>\n ) => {\n let hasCustomForms = false;\n let hasEnumTokens = false;\n let hasCustomFormatters = false;\n for (const property of filteringProperties) {\n for (const operator of property.operators ?? []) {\n if (typeof operator === 'object') {\n hasCustomForms = hasCustomForms || !!operator.form;\n hasEnumTokens = hasEnumTokens || operator.tokenType === 'enum';\n hasCustomFormatters = hasCustomFormatters || !!operator.format;\n }\n }\n }\n\n const baseComponentProps = useBaseComponent('PropertyFilter', {\n props: {\n asyncProperties,\n disableFreeTextFiltering,\n enableTokenGroups,\n expandToViewport,\n hideOperations,\n readOnlyOperations,\n tokenLimit,\n virtualScroll,\n },\n metadata: {\n hasCustomForms,\n hasEnumTokens,\n hasCustomFormatters,\n },\n });\n\n const componentAnalyticsMetadata: GeneratedAnalyticsMetadataPropertyFilterComponent = {\n name: 'awsui.PropertyFilter',\n label: `.${analyticsSelectors['search-field']} input`,\n properties: {\n disabled: `${!!rest.disabled}`,\n queryTokensCount: `${rest.query && rest.query.tokens ? rest.query.tokens.length : 0}`,\n },\n };\n\n if (hideOperations && enableTokenGroups) {\n warnOnce('PropertyFilter', 'Operations cannot be hidden when token groups are enabled.');\n hideOperations = false;\n }\n\n return (\n <PropertyFilterInternal\n ref={ref}\n {...baseComponentProps}\n filteringProperties={filteringProperties}\n filteringOptions={filteringOptions}\n customGroupsText={customGroupsText}\n enableTokenGroups={enableTokenGroups}\n disableFreeTextFiltering={disableFreeTextFiltering}\n asyncProperties={asyncProperties}\n expandToViewport={expandToViewport}\n hideOperations={hideOperations}\n readOnlyOperations={readOnlyOperations}\n tokenLimit={tokenLimit}\n virtualScroll={virtualScroll}\n {...getAnalyticsMetadataAttribute({ component: componentAnalyticsMetadata })}\n {...rest}\n />\n );\n }\n);\n\napplyDisplayName(PropertyFilter, 'PropertyFilter');\nexport default PropertyFilter;\n"]}