@cloudscape-design/components 3.0.720 → 3.0.722

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 (433) hide show
  1. package/alert/styles.css.js +25 -25
  2. package/alert/styles.scoped.css +131 -43
  3. package/alert/styles.selectors.js +25 -25
  4. package/anchor-navigation/styles.css.js +8 -8
  5. package/anchor-navigation/styles.scoped.css +106 -18
  6. package/anchor-navigation/styles.selectors.js +8 -8
  7. package/annotation-context/annotation/styles.css.js +24 -24
  8. package/annotation-context/annotation/styles.scoped.css +122 -34
  9. package/annotation-context/annotation/styles.selectors.js +24 -24
  10. package/app-layout/classic.js +15 -15
  11. package/app-layout/classic.js.map +1 -1
  12. package/app-layout/content-wrapper/styles.css.js +3 -3
  13. package/app-layout/content-wrapper/styles.scoped.css +56 -8
  14. package/app-layout/content-wrapper/styles.selectors.js +3 -3
  15. package/app-layout/drawer/styles.css.js +13 -13
  16. package/app-layout/drawer/styles.scoped.css +109 -21
  17. package/app-layout/drawer/styles.selectors.js +13 -13
  18. package/app-layout/internal.d.ts.map +1 -1
  19. package/app-layout/internal.js +3 -2
  20. package/app-layout/internal.js.map +1 -1
  21. package/app-layout/mobile-toolbar/styles.css.js +8 -8
  22. package/app-layout/mobile-toolbar/styles.scoped.css +58 -10
  23. package/app-layout/mobile-toolbar/styles.selectors.js +8 -8
  24. package/app-layout/split-panel/styles.css.js +2 -2
  25. package/app-layout/split-panel/styles.scoped.css +50 -6
  26. package/app-layout/split-panel/styles.selectors.js +2 -2
  27. package/app-layout/styles.css.js +16 -16
  28. package/app-layout/styles.scoped.css +69 -21
  29. package/app-layout/styles.selectors.js +16 -16
  30. package/app-layout/toggles/styles.css.js +2 -2
  31. package/app-layout/toggles/styles.scoped.css +92 -8
  32. package/app-layout/toggles/styles.selectors.js +2 -2
  33. package/app-layout/utils/feature-flags.d.ts +1 -1
  34. package/app-layout/utils/feature-flags.d.ts.map +1 -1
  35. package/app-layout/utils/feature-flags.js +5 -1
  36. package/app-layout/utils/feature-flags.js.map +1 -1
  37. package/app-layout/visual-refresh/styles.css.js +82 -82
  38. package/app-layout/visual-refresh/styles.scoped.css +216 -169
  39. package/app-layout/visual-refresh/styles.selectors.js +82 -82
  40. package/app-layout/visual-refresh-toolbar/drawer/styles.css.js +6 -6
  41. package/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +92 -8
  42. package/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +6 -6
  43. package/app-layout/visual-refresh-toolbar/index.js +1 -1
  44. package/app-layout/visual-refresh-toolbar/index.js.map +1 -1
  45. package/app-layout/visual-refresh-toolbar/navigation/styles.css.js +6 -6
  46. package/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +60 -12
  47. package/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +6 -6
  48. package/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +16 -16
  49. package/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +76 -28
  50. package/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +16 -16
  51. package/app-layout/visual-refresh-toolbar/split-panel/styles.css.js +1 -1
  52. package/app-layout/visual-refresh-toolbar/split-panel/styles.scoped.css +47 -3
  53. package/app-layout/visual-refresh-toolbar/split-panel/styles.selectors.js +1 -1
  54. package/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +12 -12
  55. package/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +60 -16
  56. package/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +12 -12
  57. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.css.js +6 -6
  58. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scoped.css +66 -22
  59. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.selectors.js +6 -6
  60. package/area-chart/styles.css.js +6 -6
  61. package/area-chart/styles.scoped.css +99 -15
  62. package/area-chart/styles.selectors.js +6 -6
  63. package/attribute-editor/styles.css.js +14 -14
  64. package/attribute-editor/styles.scoped.css +76 -28
  65. package/attribute-editor/styles.selectors.js +14 -14
  66. package/badge/styles.css.js +5 -5
  67. package/badge/styles.scoped.css +51 -7
  68. package/badge/styles.selectors.js +5 -5
  69. package/box/styles.css.js +191 -191
  70. package/box/styles.scoped.css +306 -241
  71. package/box/styles.selectors.js +191 -191
  72. package/breadcrumb-group/item/styles.css.js +9 -9
  73. package/breadcrumb-group/item/styles.scoped.css +63 -19
  74. package/breadcrumb-group/item/styles.selectors.js +9 -9
  75. package/breadcrumb-group/styles.css.js +7 -7
  76. package/breadcrumb-group/styles.scoped.css +58 -14
  77. package/breadcrumb-group/styles.selectors.js +7 -7
  78. package/button/styles.css.js +20 -20
  79. package/button/styles.scoped.css +204 -156
  80. package/button/styles.selectors.js +20 -20
  81. package/button-dropdown/category-elements/styles.css.js +14 -14
  82. package/button-dropdown/category-elements/styles.scoped.css +70 -28
  83. package/button-dropdown/category-elements/styles.selectors.js +14 -14
  84. package/button-dropdown/item-element/styles.css.js +12 -12
  85. package/button-dropdown/item-element/styles.scoped.css +60 -16
  86. package/button-dropdown/item-element/styles.selectors.js +12 -12
  87. package/button-dropdown/mobile-expandable-group/styles.css.js +5 -5
  88. package/button-dropdown/mobile-expandable-group/styles.scoped.css +51 -7
  89. package/button-dropdown/mobile-expandable-group/styles.selectors.js +5 -5
  90. package/button-dropdown/styles.css.js +16 -16
  91. package/button-dropdown/styles.scoped.css +70 -26
  92. package/button-dropdown/styles.selectors.js +16 -16
  93. package/button-group/styles.css.js +4 -4
  94. package/button-group/styles.scoped.css +86 -6
  95. package/button-group/styles.selectors.js +4 -4
  96. package/calendar/styles.css.js +21 -21
  97. package/calendar/styles.scoped.css +95 -47
  98. package/calendar/styles.selectors.js +21 -21
  99. package/cards/styles.css.js +39 -39
  100. package/cards/styles.scoped.css +108 -58
  101. package/cards/styles.selectors.js +39 -39
  102. package/checkbox/styles.css.js +3 -3
  103. package/checkbox/styles.scoped.css +51 -7
  104. package/checkbox/styles.selectors.js +3 -3
  105. package/code-editor/resizable-box/styles.css.js +3 -3
  106. package/code-editor/resizable-box/styles.scoped.css +52 -8
  107. package/code-editor/resizable-box/styles.selectors.js +3 -3
  108. package/code-editor/styles.css.js +33 -33
  109. package/code-editor/styles.scoped.css +191 -139
  110. package/code-editor/styles.selectors.js +33 -33
  111. package/collection-preferences/content-display/styles.css.js +11 -11
  112. package/collection-preferences/content-display/styles.scoped.css +107 -19
  113. package/collection-preferences/content-display/styles.selectors.js +11 -11
  114. package/collection-preferences/styles.css.js +37 -37
  115. package/collection-preferences/styles.scoped.css +224 -48
  116. package/collection-preferences/styles.selectors.js +37 -37
  117. package/column-layout/flexible-column-layout/styles.css.js +5 -5
  118. package/column-layout/flexible-column-layout/styles.scoped.css +87 -7
  119. package/column-layout/flexible-column-layout/styles.selectors.js +5 -5
  120. package/column-layout/styles.css.js +13 -13
  121. package/column-layout/styles.scoped.css +125 -45
  122. package/column-layout/styles.selectors.js +13 -13
  123. package/container/styles.css.js +30 -30
  124. package/container/styles.scoped.css +140 -56
  125. package/container/styles.selectors.js +30 -30
  126. package/content-layout/styles.css.js +14 -14
  127. package/content-layout/styles.scoped.css +62 -18
  128. package/content-layout/styles.selectors.js +14 -14
  129. package/date-picker/styles.css.js +7 -7
  130. package/date-picker/styles.scoped.css +55 -11
  131. package/date-picker/styles.selectors.js +7 -7
  132. package/date-range-picker/calendar/grids/styles.css.js +28 -28
  133. package/date-range-picker/calendar/grids/styles.scoped.css +89 -45
  134. package/date-range-picker/calendar/grids/styles.selectors.js +28 -28
  135. package/date-range-picker/relative-range/styles.css.js +9 -9
  136. package/date-range-picker/relative-range/styles.scoped.css +59 -15
  137. package/date-range-picker/relative-range/styles.selectors.js +9 -9
  138. package/date-range-picker/styles.css.js +39 -39
  139. package/date-range-picker/styles.scoped.css +100 -52
  140. package/date-range-picker/styles.selectors.js +39 -39
  141. package/drawer/implementation.d.ts.map +1 -1
  142. package/drawer/implementation.js +3 -2
  143. package/drawer/implementation.js.map +1 -1
  144. package/drawer/styles.css.js +4 -4
  145. package/drawer/styles.scoped.css +92 -12
  146. package/drawer/styles.selectors.js +4 -4
  147. package/expandable-section/styles.css.js +32 -32
  148. package/expandable-section/styles.scoped.css +121 -69
  149. package/expandable-section/styles.selectors.js +32 -32
  150. package/file-upload/dropzone/styles.css.js +2 -2
  151. package/file-upload/dropzone/styles.scoped.css +84 -4
  152. package/file-upload/dropzone/styles.selectors.js +2 -2
  153. package/file-upload/file-input/styles.css.js +4 -4
  154. package/file-upload/file-input/styles.scoped.css +93 -9
  155. package/file-upload/file-input/styles.selectors.js +4 -4
  156. package/flashbar/styles.css.js +47 -47
  157. package/flashbar/styles.scoped.css +240 -244
  158. package/flashbar/styles.selectors.js +47 -47
  159. package/form/styles.css.js +8 -8
  160. package/form/styles.scoped.css +54 -10
  161. package/form/styles.selectors.js +8 -8
  162. package/form-field/styles.css.js +24 -24
  163. package/form-field/styles.scoped.css +84 -40
  164. package/form-field/styles.selectors.js +24 -24
  165. package/grid/styles.css.js +53 -53
  166. package/grid/styles.scoped.css +100 -56
  167. package/grid/styles.selectors.js +53 -53
  168. package/header/styles.css.js +34 -34
  169. package/header/styles.scoped.css +132 -52
  170. package/header/styles.selectors.js +34 -34
  171. package/help-panel/implementation.d.ts.map +1 -1
  172. package/help-panel/implementation.js +3 -2
  173. package/help-panel/implementation.js.map +1 -1
  174. package/help-panel/styles.css.js +5 -5
  175. package/help-panel/styles.scoped.css +149 -69
  176. package/help-panel/styles.selectors.js +5 -5
  177. package/hotspot/styles.css.js +7 -7
  178. package/hotspot/styles.scoped.css +89 -9
  179. package/hotspot/styles.selectors.js +7 -7
  180. package/icon/styles.css.js +38 -38
  181. package/icon/styles.scoped.css +168 -84
  182. package/icon/styles.selectors.js +38 -38
  183. package/input/styles.css.js +13 -13
  184. package/input/styles.scoped.css +82 -46
  185. package/input/styles.selectors.js +13 -13
  186. package/internal/base-component/styles.scoped.css +9 -9
  187. package/internal/components/abstract-switch/styles.css.js +13 -13
  188. package/internal/components/abstract-switch/styles.scoped.css +66 -22
  189. package/internal/components/abstract-switch/styles.selectors.js +13 -13
  190. package/internal/components/button-trigger/styles.css.js +11 -11
  191. package/internal/components/button-trigger/styles.scoped.css +84 -36
  192. package/internal/components/button-trigger/styles.selectors.js +11 -11
  193. package/internal/components/chart-filter/styles.css.js +3 -3
  194. package/internal/components/chart-filter/styles.scoped.css +49 -5
  195. package/internal/components/chart-filter/styles.selectors.js +3 -3
  196. package/internal/components/chart-legend/styles.css.js +6 -6
  197. package/internal/components/chart-legend/styles.scoped.css +67 -19
  198. package/internal/components/chart-legend/styles.selectors.js +6 -6
  199. package/internal/components/chart-plot/styles.css.js +5 -5
  200. package/internal/components/chart-plot/styles.scoped.css +51 -7
  201. package/internal/components/chart-plot/styles.selectors.js +5 -5
  202. package/internal/components/chart-popover/styles.css.js +3 -3
  203. package/internal/components/chart-popover/styles.scoped.css +49 -5
  204. package/internal/components/chart-popover/styles.selectors.js +3 -3
  205. package/internal/components/chart-series-details/styles.css.js +20 -20
  206. package/internal/components/chart-series-details/styles.scoped.css +89 -37
  207. package/internal/components/chart-series-details/styles.selectors.js +20 -20
  208. package/internal/components/chart-series-marker/styles.css.js +5 -5
  209. package/internal/components/chart-series-marker/styles.scoped.css +53 -9
  210. package/internal/components/chart-series-marker/styles.selectors.js +5 -5
  211. package/internal/components/chart-wrapper/styles.css.js +9 -9
  212. package/internal/components/chart-wrapper/styles.scoped.css +91 -11
  213. package/internal/components/chart-wrapper/styles.selectors.js +9 -9
  214. package/internal/components/checkbox-icon/styles.css.js +9 -9
  215. package/internal/components/checkbox-icon/styles.scoped.css +55 -11
  216. package/internal/components/checkbox-icon/styles.selectors.js +9 -9
  217. package/internal/components/dropdown/styles.css.js +20 -20
  218. package/internal/components/dropdown/styles.scoped.css +89 -41
  219. package/internal/components/dropdown/styles.selectors.js +20 -20
  220. package/internal/components/dropdown-footer/styles.css.js +3 -3
  221. package/internal/components/dropdown-footer/styles.scoped.css +49 -5
  222. package/internal/components/dropdown-footer/styles.selectors.js +3 -3
  223. package/internal/components/dropdown-status/styles.css.js +2 -2
  224. package/internal/components/dropdown-status/styles.scoped.css +48 -4
  225. package/internal/components/dropdown-status/styles.selectors.js +2 -2
  226. package/internal/components/handle/styles.css.js +2 -2
  227. package/internal/components/handle/styles.scoped.css +52 -8
  228. package/internal/components/handle/styles.selectors.js +2 -2
  229. package/internal/components/menu-dropdown/styles.css.js +7 -7
  230. package/internal/components/menu-dropdown/styles.scoped.css +59 -15
  231. package/internal/components/menu-dropdown/styles.selectors.js +7 -7
  232. package/internal/components/option/styles.css.js +17 -17
  233. package/internal/components/option/styles.scoped.css +79 -31
  234. package/internal/components/option/styles.selectors.js +17 -17
  235. package/internal/components/options-list/styles.css.js +2 -2
  236. package/internal/components/options-list/styles.scoped.css +48 -4
  237. package/internal/components/options-list/styles.selectors.js +2 -2
  238. package/internal/components/panel-resize-handle/styles.css.js +5 -5
  239. package/internal/components/panel-resize-handle/styles.scoped.css +56 -12
  240. package/internal/components/panel-resize-handle/styles.selectors.js +5 -5
  241. package/internal/components/screenreader-only/styles.css.js +1 -1
  242. package/internal/components/screenreader-only/styles.scoped.css +47 -3
  243. package/internal/components/screenreader-only/styles.selectors.js +1 -1
  244. package/internal/components/selectable-item/styles.css.js +16 -16
  245. package/internal/components/selectable-item/styles.scoped.css +78 -40
  246. package/internal/components/selectable-item/styles.selectors.js +16 -16
  247. package/internal/components/token-list/styles.css.js +9 -9
  248. package/internal/components/token-list/styles.scoped.css +106 -22
  249. package/internal/components/token-list/styles.selectors.js +9 -9
  250. package/internal/components/tooltip/index.d.ts.map +1 -1
  251. package/internal/components/tooltip/index.js +2 -4
  252. package/internal/components/tooltip/index.js.map +1 -1
  253. package/internal/environment.js +1 -1
  254. package/internal/environment.json +1 -1
  255. package/internal/manifest.json +1 -1
  256. package/internal/plugins/helpers/use-global-breadcrumbs.js +2 -2
  257. package/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
  258. package/key-value-pairs/styles.css.js +8 -8
  259. package/key-value-pairs/styles.scoped.css +55 -11
  260. package/key-value-pairs/styles.selectors.js +8 -8
  261. package/link/styles.css.js +20 -20
  262. package/link/styles.scoped.css +117 -73
  263. package/link/styles.selectors.js +20 -20
  264. package/mixed-line-bar-chart/styles.css.js +11 -11
  265. package/mixed-line-bar-chart/styles.scoped.css +107 -23
  266. package/mixed-line-bar-chart/styles.selectors.js +11 -11
  267. package/modal/styles.css.js +23 -23
  268. package/modal/styles.scoped.css +95 -43
  269. package/modal/styles.selectors.js +23 -23
  270. package/multiselect/styles.css.js +2 -2
  271. package/multiselect/styles.scoped.css +48 -4
  272. package/multiselect/styles.selectors.js +2 -2
  273. package/package.json +1 -1
  274. package/pagination/styles.css.js +9 -9
  275. package/pagination/styles.scoped.css +69 -25
  276. package/pagination/styles.selectors.js +9 -9
  277. package/pie-chart/styles.css.js +27 -27
  278. package/pie-chart/styles.scoped.css +104 -52
  279. package/pie-chart/styles.selectors.js +27 -27
  280. package/popover/container.d.ts +1 -1
  281. package/popover/container.d.ts.map +1 -1
  282. package/popover/container.js.map +1 -1
  283. package/popover/internal.d.ts +2 -1
  284. package/popover/internal.d.ts.map +1 -1
  285. package/popover/internal.js.map +1 -1
  286. package/popover/styles.css.js +52 -52
  287. package/popover/styles.scoped.css +297 -77
  288. package/popover/styles.selectors.js +52 -52
  289. package/progress-bar/styles.css.js +19 -19
  290. package/progress-bar/styles.scoped.css +195 -35
  291. package/progress-bar/styles.selectors.js +19 -19
  292. package/prompt-input/styles.css.js +8 -8
  293. package/prompt-input/styles.scoped.css +70 -30
  294. package/prompt-input/styles.selectors.js +8 -8
  295. package/property-filter/filtering-token/index.d.ts +2 -0
  296. package/property-filter/filtering-token/index.d.ts.map +1 -1
  297. package/property-filter/filtering-token/index.js +2 -2
  298. package/property-filter/filtering-token/index.js.map +1 -1
  299. package/property-filter/filtering-token/styles.css.js +18 -18
  300. package/property-filter/filtering-token/styles.scoped.css +89 -41
  301. package/property-filter/filtering-token/styles.selectors.js +18 -18
  302. package/property-filter/index.d.ts.map +1 -1
  303. package/property-filter/index.js +5 -195
  304. package/property-filter/index.js.map +1 -1
  305. package/property-filter/internal.d.ts +26 -0
  306. package/property-filter/internal.d.ts.map +1 -0
  307. package/property-filter/internal.js +201 -0
  308. package/property-filter/internal.js.map +1 -0
  309. package/property-filter/styles.css.js +38 -38
  310. package/property-filter/styles.scoped.css +85 -41
  311. package/property-filter/styles.selectors.js +38 -38
  312. package/property-filter/token-editor.d.ts +2 -10
  313. package/property-filter/token-editor.d.ts.map +1 -1
  314. package/property-filter/token-editor.js +36 -29
  315. package/property-filter/token-editor.js.map +1 -1
  316. package/property-filter/token.d.ts +2 -1
  317. package/property-filter/token.d.ts.map +1 -1
  318. package/property-filter/token.js +4 -7
  319. package/property-filter/token.js.map +1 -1
  320. package/radio-group/styles.css.js +10 -10
  321. package/radio-group/styles.scoped.css +62 -18
  322. package/radio-group/styles.selectors.js +10 -10
  323. package/s3-resource-selector/s3-in-context/styles.css.js +7 -7
  324. package/s3-resource-selector/s3-in-context/styles.scoped.css +9 -11
  325. package/s3-resource-selector/s3-in-context/styles.selectors.js +7 -7
  326. package/s3-resource-selector/s3-modal/styles.css.js +3 -3
  327. package/s3-resource-selector/s3-modal/styles.scoped.css +85 -5
  328. package/s3-resource-selector/s3-modal/styles.selectors.js +3 -3
  329. package/segmented-control/styles.css.js +15 -15
  330. package/segmented-control/styles.scoped.css +90 -38
  331. package/segmented-control/styles.selectors.js +15 -15
  332. package/select/parts/styles.css.js +21 -21
  333. package/select/parts/styles.scoped.css +68 -24
  334. package/select/parts/styles.selectors.js +21 -21
  335. package/select/styles.css.js +1 -1
  336. package/select/styles.scoped.css +47 -3
  337. package/select/styles.selectors.js +1 -1
  338. package/side-navigation/implementation.d.ts.map +1 -1
  339. package/side-navigation/implementation.js +3 -2
  340. package/side-navigation/implementation.js.map +1 -1
  341. package/side-navigation/styles.css.js +29 -29
  342. package/side-navigation/styles.scoped.css +87 -43
  343. package/side-navigation/styles.selectors.js +29 -29
  344. package/slider/styles.css.js +26 -26
  345. package/slider/styles.scoped.css +126 -78
  346. package/slider/styles.selectors.js +26 -26
  347. package/space-between/styles.css.js +23 -23
  348. package/space-between/styles.scoped.css +70 -26
  349. package/space-between/styles.selectors.js +23 -23
  350. package/spinner/styles.css.js +13 -13
  351. package/spinner/styles.scoped.css +69 -21
  352. package/spinner/styles.selectors.js +13 -13
  353. package/split-panel/bottom.d.ts.map +1 -1
  354. package/split-panel/bottom.js +3 -2
  355. package/split-panel/bottom.js.map +1 -1
  356. package/split-panel/icons/styles.css.js +22 -22
  357. package/split-panel/icons/styles.scoped.css +70 -26
  358. package/split-panel/icons/styles.selectors.js +22 -22
  359. package/split-panel/implementation.d.ts.map +1 -1
  360. package/split-panel/implementation.js +3 -2
  361. package/split-panel/implementation.js.map +1 -1
  362. package/split-panel/side.d.ts.map +1 -1
  363. package/split-panel/side.js +4 -3
  364. package/split-panel/side.js.map +1 -1
  365. package/split-panel/styles.css.js +27 -27
  366. package/split-panel/styles.scoped.css +142 -50
  367. package/split-panel/styles.selectors.js +27 -27
  368. package/status-indicator/styles.css.js +23 -23
  369. package/status-indicator/styles.scoped.css +75 -31
  370. package/status-indicator/styles.selectors.js +23 -23
  371. package/table/body-cell/styles.css.js +47 -47
  372. package/table/body-cell/styles.scoped.css +398 -360
  373. package/table/body-cell/styles.selectors.js +47 -47
  374. package/table/expandable-rows/styles.css.js +3 -3
  375. package/table/expandable-rows/styles.scoped.css +65 -17
  376. package/table/expandable-rows/styles.selectors.js +3 -3
  377. package/table/header-cell/styles.css.js +26 -26
  378. package/table/header-cell/styles.scoped.css +115 -67
  379. package/table/header-cell/styles.selectors.js +26 -26
  380. package/table/resizer/styles.css.js +8 -8
  381. package/table/resizer/styles.scoped.css +60 -16
  382. package/table/resizer/styles.selectors.js +8 -8
  383. package/table/selection/styles.css.js +3 -3
  384. package/table/selection/styles.scoped.css +49 -5
  385. package/table/selection/styles.selectors.js +3 -3
  386. package/table/sticky-scrollbar/styles.css.js +6 -6
  387. package/table/sticky-scrollbar/styles.scoped.css +89 -9
  388. package/table/sticky-scrollbar/styles.selectors.js +6 -6
  389. package/table/styles.css.js +34 -34
  390. package/table/styles.scoped.css +91 -43
  391. package/table/styles.selectors.js +34 -34
  392. package/tabs/styles.css.js +28 -28
  393. package/tabs/styles.scoped.css +139 -51
  394. package/tabs/styles.selectors.js +28 -28
  395. package/tag-editor/styles.css.js +3 -3
  396. package/tag-editor/styles.scoped.css +56 -12
  397. package/tag-editor/styles.selectors.js +3 -3
  398. package/text-content/styles.css.js +1 -1
  399. package/text-content/styles.scoped.css +107 -63
  400. package/text-content/styles.selectors.js +1 -1
  401. package/text-filter/styles.css.js +3 -3
  402. package/text-filter/styles.scoped.css +49 -5
  403. package/text-filter/styles.selectors.js +3 -3
  404. package/textarea/styles.css.js +5 -5
  405. package/textarea/styles.scoped.css +62 -22
  406. package/textarea/styles.selectors.js +5 -5
  407. package/tiles/styles.css.js +30 -30
  408. package/tiles/styles.scoped.css +159 -75
  409. package/tiles/styles.selectors.js +30 -30
  410. package/toggle/styles.css.js +10 -10
  411. package/toggle/styles.scoped.css +63 -19
  412. package/toggle/styles.selectors.js +10 -10
  413. package/token-group/styles.css.js +10 -10
  414. package/token-group/styles.scoped.css +72 -24
  415. package/token-group/styles.selectors.js +10 -10
  416. package/top-navigation/1.0-beta/styles.css.js +25 -25
  417. package/top-navigation/1.0-beta/styles.scoped.css +88 -44
  418. package/top-navigation/1.0-beta/styles.selectors.js +25 -25
  419. package/top-navigation/styles.css.js +47 -47
  420. package/top-navigation/styles.scoped.css +118 -70
  421. package/top-navigation/styles.selectors.js +47 -47
  422. package/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
  423. package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +103 -23
  424. package/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
  425. package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  426. package/tutorial-panel/components/tutorial-list/styles.scoped.css +119 -31
  427. package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  428. package/tutorial-panel/styles.css.js +1 -1
  429. package/tutorial-panel/styles.scoped.css +83 -3
  430. package/tutorial-panel/styles.selectors.js +1 -1
  431. package/wizard/styles.css.js +30 -30
  432. package/wizard/styles.scoped.css +104 -60
  433. package/wizard/styles.selectors.js +30 -30
@@ -2,23 +2,23 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "root": "awsui_root_19bso_2jqfz_101",
6
- "inner-root": "awsui_inner-root_19bso_2jqfz_102",
7
- "has-groups": "awsui_has-groups_19bso_2jqfz_138",
8
- "compact-mode": "awsui_compact-mode_19bso_2jqfz_142",
9
- "token": "awsui_token_19bso_2jqfz_147",
10
- "inner-token": "awsui_inner-token_19bso_2jqfz_148",
11
- "grouped": "awsui_grouped_19bso_2jqfz_161",
12
- "list": "awsui_list_19bso_2jqfz_166",
13
- "show-operation": "awsui_show-operation_19bso_2jqfz_177",
14
- "select": "awsui_select_19bso_2jqfz_183",
15
- "inner-select": "awsui_inner-select_19bso_2jqfz_184",
16
- "token-content": "awsui_token-content_19bso_2jqfz_188",
17
- "token-content-grouped": "awsui_token-content-grouped_19bso_2jqfz_194",
18
- "inner-token-content": "awsui_inner-token-content_19bso_2jqfz_199",
19
- "edit-button": "awsui_edit-button_19bso_2jqfz_204",
20
- "dismiss-button": "awsui_dismiss-button_19bso_2jqfz_205",
21
- "inner-dismiss-button": "awsui_inner-dismiss-button_19bso_2jqfz_206",
22
- "token-disabled": "awsui_token-disabled_19bso_2jqfz_264"
5
+ "root": "awsui_root_19bso_f3ckl_149",
6
+ "inner-root": "awsui_inner-root_19bso_f3ckl_150",
7
+ "has-groups": "awsui_has-groups_19bso_f3ckl_186",
8
+ "compact-mode": "awsui_compact-mode_19bso_f3ckl_190",
9
+ "token": "awsui_token_19bso_f3ckl_195",
10
+ "inner-token": "awsui_inner-token_19bso_f3ckl_196",
11
+ "grouped": "awsui_grouped_19bso_f3ckl_209",
12
+ "list": "awsui_list_19bso_f3ckl_214",
13
+ "show-operation": "awsui_show-operation_19bso_f3ckl_225",
14
+ "select": "awsui_select_19bso_f3ckl_231",
15
+ "inner-select": "awsui_inner-select_19bso_f3ckl_232",
16
+ "token-content": "awsui_token-content_19bso_f3ckl_236",
17
+ "token-content-grouped": "awsui_token-content-grouped_19bso_f3ckl_242",
18
+ "inner-token-content": "awsui_inner-token-content_19bso_f3ckl_247",
19
+ "edit-button": "awsui_edit-button_19bso_f3ckl_252",
20
+ "dismiss-button": "awsui_dismiss-button_19bso_f3ckl_253",
21
+ "inner-dismiss-button": "awsui_inner-dismiss-button_19bso_f3ckl_254",
22
+ "token-disabled": "awsui_token-disabled_19bso_f3ckl_312"
23
23
  };
24
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/property-filter/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAmBrE,OAAO,EASL,mBAAmB,EAGpB,MAAM,cAAc,CAAC;AAStB,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,QAAA,MAAM,cAAc,qGAsYnB,CAAC;AAGF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/property-filter/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,mBAAmB,EAAO,MAAM,cAAc,CAAC;AAGxD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,QAAA,MAAM,cAAc,qGAkCnB,CAAC;AAGF,eAAe,cAAc,CAAC"}
@@ -1,206 +1,16 @@
1
1
  import { __rest } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
- import React, { useImperativeHandle, useRef, useState } from 'react';
5
- import clsx from 'clsx';
6
- import { InternalButton } from '../button/internal';
7
- import { useInternalI18n } from '../i18n/context';
8
- import { getBaseProps } from '../internal/base-component';
9
- import TokenList from '../internal/components/token-list';
10
- import { fireNonCancelableEvent } from '../internal/events';
4
+ import React from 'react';
11
5
  import useBaseComponent from '../internal/hooks/use-base-component';
12
- import { useUniqueId } from '../internal/hooks/use-unique-id/index';
13
6
  import { applyDisplayName } from '../internal/utils/apply-display-name';
14
- import { joinStrings } from '../internal/utils/strings';
15
- import InternalSpaceBetween from '../space-between/internal';
16
- import { SearchResults } from '../text-filter/search-results';
17
- import { getAllowedOperators, getAutosuggestOptions, getQueryActions, parseText } from './controller';
18
- import { getI18nToken } from './i18n-utils';
19
- import { PropertyEditor } from './property-editor';
20
- import PropertyFilterAutosuggest from './property-filter-autosuggest';
21
- import { TokenButton } from './token';
22
- import { useLoadItems } from './use-load-items';
23
- import { matchTokenValue } from './utils';
24
- import styles from './styles.css.js';
7
+ import PropertyFilterInternal from './internal';
25
8
  const PropertyFilter = React.forwardRef((_a, ref) => {
26
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
27
- var { disabled, countText, query, hideOperations, onChange, filteringProperties, filteringOptions = [], customGroupsText = [], disableFreeTextFiltering = false, freeTextFiltering, onLoadItems, virtualScroll, customControl, customFilterActions, filteringPlaceholder, filteringAriaLabel, filteringEmpty, filteringLoadingText, filteringFinishedText, filteringErrorText, filteringRecoveryText, filteringConstraintText, filteringStatusType, asyncProperties, tokenLimit, expandToViewport, tokenLimitShowFewerAriaLabel, tokenLimitShowMoreAriaLabel } = _a, rest = __rest(_a, ["disabled", "countText", "query", "hideOperations", "onChange", "filteringProperties", "filteringOptions", "customGroupsText", "disableFreeTextFiltering", "freeTextFiltering", "onLoadItems", "virtualScroll", "customControl", "customFilterActions", "filteringPlaceholder", "filteringAriaLabel", "filteringEmpty", "filteringLoadingText", "filteringFinishedText", "filteringErrorText", "filteringRecoveryText", "filteringConstraintText", "filteringStatusType", "asyncProperties", "tokenLimit", "expandToViewport", "tokenLimitShowFewerAriaLabel", "tokenLimitShowMoreAriaLabel"]);
28
- const { __internalRootRef } = useBaseComponent('PropertyFilter', {
9
+ var { filteringOptions = [], customGroupsText = [], disableFreeTextFiltering = false, asyncProperties, expandToViewport, hideOperations, tokenLimit, virtualScroll } = _a, rest = __rest(_a, ["filteringOptions", "customGroupsText", "disableFreeTextFiltering", "asyncProperties", "expandToViewport", "hideOperations", "tokenLimit", "virtualScroll"]);
10
+ const baseComponentProps = useBaseComponent('PropertyFilter', {
29
11
  props: { asyncProperties, disableFreeTextFiltering, expandToViewport, hideOperations, tokenLimit, virtualScroll },
30
12
  });
31
- const [removedTokenIndex, setRemovedTokenIndex] = useState(null);
32
- const inputRef = useRef(null);
33
- const baseProps = getBaseProps(rest);
34
- const i18n = useInternalI18n('property-filter');
35
- const i18nStrings = Object.assign(Object.assign({}, rest.i18nStrings), { allPropertiesLabel: i18n('i18nStrings.allPropertiesLabel', (_b = rest.i18nStrings) === null || _b === void 0 ? void 0 : _b.allPropertiesLabel), applyActionText: i18n('i18nStrings.applyActionText', (_c = rest.i18nStrings) === null || _c === void 0 ? void 0 : _c.applyActionText), cancelActionText: i18n('i18nStrings.cancelActionText', (_d = rest.i18nStrings) === null || _d === void 0 ? void 0 : _d.cancelActionText), clearFiltersText: i18n('i18nStrings.clearFiltersText', (_e = rest.i18nStrings) === null || _e === void 0 ? void 0 : _e.clearFiltersText), editTokenHeader: i18n('i18nStrings.editTokenHeader', (_f = rest.i18nStrings) === null || _f === void 0 ? void 0 : _f.editTokenHeader), groupPropertiesText: i18n('i18nStrings.groupPropertiesText', (_g = rest.i18nStrings) === null || _g === void 0 ? void 0 : _g.groupPropertiesText), groupValuesText: i18n('i18nStrings.groupValuesText', (_h = rest.i18nStrings) === null || _h === void 0 ? void 0 : _h.groupValuesText), operationAndText: i18n('i18nStrings.operationAndText', (_j = rest.i18nStrings) === null || _j === void 0 ? void 0 : _j.operationAndText), operationOrText: i18n('i18nStrings.operationOrText', (_k = rest.i18nStrings) === null || _k === void 0 ? void 0 : _k.operationOrText), operatorContainsText: i18n('i18nStrings.operatorContainsText', (_l = rest.i18nStrings) === null || _l === void 0 ? void 0 : _l.operatorContainsText), operatorDoesNotContainText: i18n('i18nStrings.operatorDoesNotContainText', (_m = rest.i18nStrings) === null || _m === void 0 ? void 0 : _m.operatorDoesNotContainText), operatorDoesNotEqualText: i18n('i18nStrings.operatorDoesNotEqualText', (_o = rest.i18nStrings) === null || _o === void 0 ? void 0 : _o.operatorDoesNotEqualText), operatorEqualsText: i18n('i18nStrings.operatorEqualsText', (_p = rest.i18nStrings) === null || _p === void 0 ? void 0 : _p.operatorEqualsText), operatorGreaterOrEqualText: i18n('i18nStrings.operatorGreaterOrEqualText', (_q = rest.i18nStrings) === null || _q === void 0 ? void 0 : _q.operatorGreaterOrEqualText), operatorGreaterText: i18n('i18nStrings.operatorGreaterText', (_r = rest.i18nStrings) === null || _r === void 0 ? void 0 : _r.operatorGreaterText), operatorLessOrEqualText: i18n('i18nStrings.operatorLessOrEqualText', (_s = rest.i18nStrings) === null || _s === void 0 ? void 0 : _s.operatorLessOrEqualText), operatorLessText: i18n('i18nStrings.operatorLessText', (_t = rest.i18nStrings) === null || _t === void 0 ? void 0 : _t.operatorLessText), operatorStartsWithText: i18n('i18nStrings.operatorStartsWithText', (_u = rest.i18nStrings) === null || _u === void 0 ? void 0 : _u.operatorStartsWithText), operatorDoesNotStartWithText: i18n('i18nStrings.operatorDoesNotStartWithText', (_v = rest.i18nStrings) === null || _v === void 0 ? void 0 : _v.operatorDoesNotStartWithText), operatorText: i18n('i18nStrings.operatorText', (_w = rest.i18nStrings) === null || _w === void 0 ? void 0 : _w.operatorText), operatorsText: i18n('i18nStrings.operatorsText', (_x = rest.i18nStrings) === null || _x === void 0 ? void 0 : _x.operatorsText), propertyText: i18n('i18nStrings.propertyText', (_y = rest.i18nStrings) === null || _y === void 0 ? void 0 : _y.propertyText), tokenLimitShowFewer: i18n('i18nStrings.tokenLimitShowFewer', (_z = rest.i18nStrings) === null || _z === void 0 ? void 0 : _z.tokenLimitShowFewer), tokenLimitShowMore: i18n('i18nStrings.tokenLimitShowMore', (_0 = rest.i18nStrings) === null || _0 === void 0 ? void 0 : _0.tokenLimitShowMore), valueText: i18n('i18nStrings.valueText', (_1 = rest.i18nStrings) === null || _1 === void 0 ? void 0 : _1.valueText) });
36
- useImperativeHandle(ref, () => ({ focus: () => { var _a; return (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus(); } }), []);
37
- const showResults = !!((_2 = query.tokens) === null || _2 === void 0 ? void 0 : _2.length) && !disabled && !!countText;
38
- const { addToken, removeToken, setToken, setOperation, removeAllTokens } = getQueryActions(query, onChange, inputRef);
39
- const [filteringText, setFilteringText] = useState('');
40
- const { internalProperties, internalOptions, internalQuery, internalFreeText } = (() => {
41
- var _a, _b;
42
- const propertyByKey = filteringProperties.reduce((acc, property) => {
43
- var _a, _b, _c, _d, _e;
44
- const extendedOperators = ((_a = property === null || property === void 0 ? void 0 : property.operators) !== null && _a !== void 0 ? _a : []).reduce((acc, operator) => (typeof operator === 'object' ? acc.set(operator.operator, operator) : acc), new Map());
45
- acc.set(property.key, {
46
- propertyKey: property.key,
47
- propertyLabel: (_b = property === null || property === void 0 ? void 0 : property.propertyLabel) !== null && _b !== void 0 ? _b : '',
48
- groupValuesLabel: (_c = property === null || property === void 0 ? void 0 : property.groupValuesLabel) !== null && _c !== void 0 ? _c : '',
49
- propertyGroup: property === null || property === void 0 ? void 0 : property.group,
50
- operators: ((_d = property === null || property === void 0 ? void 0 : property.operators) !== null && _d !== void 0 ? _d : []).map(op => (typeof op === 'string' ? op : op.operator)),
51
- defaultOperator: (_e = property === null || property === void 0 ? void 0 : property.defaultOperator) !== null && _e !== void 0 ? _e : '=',
52
- getValueFormatter: operator => { var _a, _b; return (operator ? (_b = (_a = extendedOperators.get(operator)) === null || _a === void 0 ? void 0 : _a.format) !== null && _b !== void 0 ? _b : null : null); },
53
- getValueFormRenderer: operator => { var _a, _b; return (operator ? (_b = (_a = extendedOperators.get(operator)) === null || _a === void 0 ? void 0 : _a.form) !== null && _b !== void 0 ? _b : null : null); },
54
- externalProperty: property,
55
- });
56
- return acc;
57
- }, new Map());
58
- const getProperty = (propertyKey) => { var _a; return (_a = propertyByKey.get(propertyKey)) !== null && _a !== void 0 ? _a : null; };
59
- const internalOptions = filteringOptions.map(option => {
60
- var _a, _b;
61
- return ({
62
- property: getProperty(option.propertyKey),
63
- value: option.value,
64
- label: (_b = (_a = option.label) !== null && _a !== void 0 ? _a : option.value) !== null && _b !== void 0 ? _b : '',
65
- });
66
- });
67
- const internalQuery = {
68
- operation: query.operation,
69
- tokens: query.tokens.map(token => ({
70
- property: token.propertyKey ? getProperty(token.propertyKey) : null,
71
- operator: token.operator,
72
- value: token.value,
73
- __source: token,
74
- })),
75
- };
76
- const internalFreeText = {
77
- disabled: disableFreeTextFiltering,
78
- operators: (_a = freeTextFiltering === null || freeTextFiltering === void 0 ? void 0 : freeTextFiltering.operators) !== null && _a !== void 0 ? _a : [':', '!:'],
79
- defaultOperator: (_b = freeTextFiltering === null || freeTextFiltering === void 0 ? void 0 : freeTextFiltering.defaultOperator) !== null && _b !== void 0 ? _b : ':',
80
- };
81
- return { internalProperties: [...propertyByKey.values()], internalOptions, internalQuery, internalFreeText };
82
- })();
83
- i18nStrings.removeTokenButtonAriaLabel = i18n('i18nStrings.removeTokenButtonAriaLabel', (_3 = rest.i18nStrings) === null || _3 === void 0 ? void 0 : _3.removeTokenButtonAriaLabel, format => token => format(getI18nToken(token)));
84
- const parsedText = parseText(filteringText, internalProperties, internalFreeText);
85
- const autosuggestOptions = getAutosuggestOptions(parsedText, internalProperties, internalOptions, customGroupsText, i18nStrings);
86
- const createToken = (currentText) => {
87
- const parsedText = parseText(currentText, internalProperties, internalFreeText);
88
- let newToken;
89
- switch (parsedText.step) {
90
- case 'property': {
91
- newToken = matchTokenValue({
92
- property: parsedText.property,
93
- operator: parsedText.operator,
94
- value: parsedText.value,
95
- }, internalOptions);
96
- break;
97
- }
98
- case 'free-text': {
99
- newToken = {
100
- operator: parsedText.operator || internalFreeText.defaultOperator,
101
- value: parsedText.value,
102
- };
103
- break;
104
- }
105
- case 'operator': {
106
- newToken = {
107
- operator: internalFreeText.defaultOperator,
108
- value: currentText,
109
- };
110
- break;
111
- }
112
- }
113
- if (internalFreeText.disabled && !('propertyKey' in newToken)) {
114
- return;
115
- }
116
- addToken(newToken);
117
- setFilteringText('');
118
- };
119
- const getLoadMoreDetail = (parsedText, filteringText) => {
120
- const loadMoreDetail = {
121
- filteringProperty: undefined,
122
- filteringText,
123
- filteringOperator: undefined,
124
- };
125
- if (parsedText.step === 'property') {
126
- loadMoreDetail.filteringProperty = parsedText.property.externalProperty;
127
- loadMoreDetail.filteringText = parsedText.value;
128
- loadMoreDetail.filteringOperator = parsedText.operator;
129
- }
130
- return loadMoreDetail;
131
- };
132
- const loadMoreDetail = getLoadMoreDetail(parsedText, filteringText);
133
- const inputLoadItemsHandlers = useLoadItems(onLoadItems, loadMoreDetail.filteringText, loadMoreDetail.filteringProperty, loadMoreDetail.filteringText, loadMoreDetail.filteringOperator);
134
- const asyncProps = {
135
- empty: filteringEmpty,
136
- loadingText: filteringLoadingText,
137
- finishedText: filteringFinishedText,
138
- errorText: filteringErrorText,
139
- recoveryText: filteringRecoveryText,
140
- statusType: filteringStatusType,
141
- };
142
- const asyncAutosuggestProps = !!filteringText.length || asyncProperties
143
- ? Object.assign(Object.assign({}, inputLoadItemsHandlers), asyncProps) : {};
144
- const handleSelected = event => {
145
- var _a;
146
- const { detail: option } = event;
147
- const value = option.value || '';
148
- if (!value) {
149
- return;
150
- }
151
- if (!('keepOpenOnSelect' in option)) {
152
- createToken(value);
153
- return;
154
- }
155
- // stop dropdown from closing
156
- event.preventDefault();
157
- const parsedText = parseText(value, internalProperties, internalFreeText);
158
- const loadMoreDetail = getLoadMoreDetail(parsedText, value);
159
- // Insert operator automatically if only one operator is defined for the given property.
160
- if (parsedText.step === 'operator') {
161
- const operators = getAllowedOperators(parsedText.property);
162
- if (value.trim() === parsedText.property.propertyLabel && operators.length === 1) {
163
- loadMoreDetail.filteringProperty = (_a = parsedText.property.externalProperty) !== null && _a !== void 0 ? _a : undefined;
164
- loadMoreDetail.filteringOperator = operators[0];
165
- loadMoreDetail.filteringText = '';
166
- setFilteringText(parsedText.property.propertyLabel + ' ' + operators[0] + ' ');
167
- }
168
- }
169
- fireNonCancelableEvent(onLoadItems, Object.assign(Object.assign({}, loadMoreDetail), { firstPage: true, samePage: false }));
170
- };
171
- const operatorForm = parsedText.step === 'property' && parsedText.property.getValueFormRenderer(parsedText.operator);
172
- const searchResultsId = useUniqueId('property-filter-search-results');
173
- const constraintTextId = useUniqueId('property-filter-constraint');
174
- const textboxAriaDescribedBy = filteringConstraintText
175
- ? joinStrings(rest.ariaDescribedby, constraintTextId)
176
- : rest.ariaDescribedby;
177
- return (React.createElement("div", Object.assign({}, baseProps, { className: clsx(baseProps.className, styles.root), ref: __internalRootRef }),
178
- React.createElement("div", { className: styles['search-field'] },
179
- customControl && React.createElement("div", { className: styles['custom-control'] }, customControl),
180
- React.createElement(PropertyFilterAutosuggest, Object.assign({ ref: inputRef, virtualScroll: virtualScroll, enteredTextLabel: i18nStrings.enteredTextLabel, ariaLabel: filteringAriaLabel !== null && filteringAriaLabel !== void 0 ? filteringAriaLabel : i18nStrings.filteringAriaLabel, placeholder: filteringPlaceholder !== null && filteringPlaceholder !== void 0 ? filteringPlaceholder : i18nStrings.filteringPlaceholder, ariaLabelledby: rest.ariaLabelledby, ariaDescribedby: textboxAriaDescribedBy, controlId: rest.controlId, value: filteringText, disabled: disabled }, autosuggestOptions, { onChange: event => setFilteringText(event.detail.value), empty: filteringEmpty }, asyncAutosuggestProps, { expandToViewport: expandToViewport, onOptionClick: handleSelected, customForm: operatorForm && (React.createElement(PropertyEditor, { property: parsedText.property, operator: parsedText.operator, filter: parsedText.value, operatorForm: operatorForm, i18nStrings: i18nStrings, onCancel: () => {
181
- var _a, _b;
182
- setFilteringText('');
183
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.close();
184
- (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.focus({ preventDropdown: true });
185
- }, onSubmit: token => {
186
- var _a, _b;
187
- addToken(token);
188
- setFilteringText('');
189
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus({ preventDropdown: true });
190
- (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.close();
191
- } })), hideEnteredTextOption: internalFreeText.disabled && parsedText.step !== 'property', clearAriaLabel: i18nStrings.clearAriaLabel, searchResultsId: showResults ? searchResultsId : undefined })),
192
- showResults ? (React.createElement("div", { className: styles.results },
193
- React.createElement(SearchResults, { id: searchResultsId }, countText))) : null),
194
- filteringConstraintText && (React.createElement("div", { id: constraintTextId, className: styles.constraint }, filteringConstraintText)),
195
- internalQuery.tokens && internalQuery.tokens.length > 0 && (React.createElement("div", { className: styles.tokens },
196
- React.createElement(InternalSpaceBetween, { size: "xs", direction: "horizontal" },
197
- React.createElement(TokenList, { alignment: "inline", limit: tokenLimit, items: internalQuery.tokens, limitShowFewerAriaLabel: tokenLimitShowFewerAriaLabel, limitShowMoreAriaLabel: tokenLimitShowMoreAriaLabel, renderItem: (token, tokenIndex) => (React.createElement(TokenButton, { token: token, first: tokenIndex === 0, operation: internalQuery.operation, removeToken: () => {
198
- removeToken(tokenIndex);
199
- setRemovedTokenIndex(tokenIndex);
200
- }, setToken: (newToken) => setToken(tokenIndex, newToken), setOperation: setOperation, filteringProperties: internalProperties, filteringOptions: internalOptions, asyncProps: asyncProps, onLoadItems: onLoadItems, i18nStrings: i18nStrings, asyncProperties: asyncProperties, hideOperations: hideOperations, customGroupsText: customGroupsText, freeTextFiltering: internalFreeText, disabled: disabled, expandToViewport: expandToViewport })), i18nStrings: {
201
- limitShowFewer: i18nStrings.tokenLimitShowFewer,
202
- limitShowMore: i18nStrings.tokenLimitShowMore,
203
- }, after: customFilterActions ? (React.createElement("div", { className: styles['custom-filter-actions'] }, customFilterActions)) : (React.createElement(InternalButton, { formAction: "none", onClick: removeAllTokens, className: styles['remove-all'], disabled: disabled }, i18nStrings.clearFiltersText)), moveFocusNextToIndex: removedTokenIndex }))))));
13
+ return (React.createElement(PropertyFilterInternal, Object.assign({ ref: ref }, baseComponentProps, { filteringOptions: filteringOptions, customGroupsText: customGroupsText, disableFreeTextFiltering: disableFreeTextFiltering, asyncProperties: asyncProperties, expandToViewport: expandToViewport, hideOperations: hideOperations, tokenLimit: tokenLimit, virtualScroll: virtualScroll }, rest)));
204
14
  });
205
15
  applyDisplayName(PropertyFilter, 'PropertyFilter');
206
16
  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\nimport React, { useImperativeHandle, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { PropertyFilterOperator } from '@cloudscape-design/collection-hooks';\n\nimport { InternalButton } from '../button/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { getBaseProps } from '../internal/base-component';\nimport { AutosuggestInputRef } from '../internal/components/autosuggest-input';\nimport TokenList from '../internal/components/token-list';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { useUniqueId } from '../internal/hooks/use-unique-id/index';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { joinStrings } from '../internal/utils/strings';\nimport InternalSpaceBetween from '../space-between/internal';\nimport { SearchResults } from '../text-filter/search-results';\nimport { getAllowedOperators, getAutosuggestOptions, getQueryActions, parseText } from './controller';\nimport { getI18nToken } from './i18n-utils';\nimport {\n ComparisonOperator,\n ExtendedOperator,\n FilteringProperty,\n InternalFilteringOption,\n InternalFilteringProperty,\n InternalFreeTextFiltering,\n InternalQuery,\n ParsedText,\n PropertyFilterProps,\n Ref,\n Token,\n} from './interfaces';\nimport { PropertyEditor } from './property-editor';\nimport PropertyFilterAutosuggest, { PropertyFilterAutosuggestProps } from './property-filter-autosuggest';\nimport { TokenButton } from './token';\nimport { useLoadItems } from './use-load-items';\nimport { matchTokenValue } from './utils';\n\nimport styles from './styles.css.js';\n\nexport { PropertyFilterProps };\n\nconst PropertyFilter = React.forwardRef(\n (\n {\n disabled,\n countText,\n query,\n hideOperations,\n onChange,\n filteringProperties,\n filteringOptions = [],\n customGroupsText = [],\n disableFreeTextFiltering = false,\n freeTextFiltering,\n onLoadItems,\n virtualScroll,\n customControl,\n customFilterActions,\n filteringPlaceholder,\n filteringAriaLabel,\n filteringEmpty,\n filteringLoadingText,\n filteringFinishedText,\n filteringErrorText,\n filteringRecoveryText,\n filteringConstraintText,\n filteringStatusType,\n asyncProperties,\n tokenLimit,\n expandToViewport,\n tokenLimitShowFewerAriaLabel,\n tokenLimitShowMoreAriaLabel,\n ...rest\n }: PropertyFilterProps,\n ref: React.Ref<Ref>\n ) => {\n const { __internalRootRef } = useBaseComponent('PropertyFilter', {\n props: { asyncProperties, disableFreeTextFiltering, expandToViewport, hideOperations, tokenLimit, virtualScroll },\n });\n const [removedTokenIndex, setRemovedTokenIndex] = useState<null | number>(null);\n\n const inputRef = useRef<AutosuggestInputRef>(null);\n const baseProps = getBaseProps(rest);\n\n const i18n = useInternalI18n('property-filter');\n const i18nStrings: PropertyFilterProps.I18nStrings = {\n ...rest.i18nStrings,\n allPropertiesLabel: i18n('i18nStrings.allPropertiesLabel', rest.i18nStrings?.allPropertiesLabel),\n applyActionText: i18n('i18nStrings.applyActionText', rest.i18nStrings?.applyActionText),\n cancelActionText: i18n('i18nStrings.cancelActionText', rest.i18nStrings?.cancelActionText),\n clearFiltersText: i18n('i18nStrings.clearFiltersText', rest.i18nStrings?.clearFiltersText),\n editTokenHeader: i18n('i18nStrings.editTokenHeader', rest.i18nStrings?.editTokenHeader),\n groupPropertiesText: i18n('i18nStrings.groupPropertiesText', rest.i18nStrings?.groupPropertiesText),\n groupValuesText: i18n('i18nStrings.groupValuesText', rest.i18nStrings?.groupValuesText),\n operationAndText: i18n('i18nStrings.operationAndText', rest.i18nStrings?.operationAndText),\n operationOrText: i18n('i18nStrings.operationOrText', rest.i18nStrings?.operationOrText),\n operatorContainsText: i18n('i18nStrings.operatorContainsText', rest.i18nStrings?.operatorContainsText),\n operatorDoesNotContainText: i18n(\n 'i18nStrings.operatorDoesNotContainText',\n rest.i18nStrings?.operatorDoesNotContainText\n ),\n operatorDoesNotEqualText: i18n(\n 'i18nStrings.operatorDoesNotEqualText',\n rest.i18nStrings?.operatorDoesNotEqualText\n ),\n operatorEqualsText: i18n('i18nStrings.operatorEqualsText', rest.i18nStrings?.operatorEqualsText),\n operatorGreaterOrEqualText: i18n(\n 'i18nStrings.operatorGreaterOrEqualText',\n rest.i18nStrings?.operatorGreaterOrEqualText\n ),\n operatorGreaterText: i18n('i18nStrings.operatorGreaterText', rest.i18nStrings?.operatorGreaterText),\n operatorLessOrEqualText: i18n('i18nStrings.operatorLessOrEqualText', rest.i18nStrings?.operatorLessOrEqualText),\n operatorLessText: i18n('i18nStrings.operatorLessText', rest.i18nStrings?.operatorLessText),\n operatorStartsWithText: i18n('i18nStrings.operatorStartsWithText', rest.i18nStrings?.operatorStartsWithText),\n operatorDoesNotStartWithText: i18n(\n 'i18nStrings.operatorDoesNotStartWithText',\n rest.i18nStrings?.operatorDoesNotStartWithText\n ),\n operatorText: i18n('i18nStrings.operatorText', rest.i18nStrings?.operatorText),\n operatorsText: i18n('i18nStrings.operatorsText', rest.i18nStrings?.operatorsText),\n propertyText: i18n('i18nStrings.propertyText', rest.i18nStrings?.propertyText),\n tokenLimitShowFewer: i18n('i18nStrings.tokenLimitShowFewer', rest.i18nStrings?.tokenLimitShowFewer),\n tokenLimitShowMore: i18n('i18nStrings.tokenLimitShowMore', rest.i18nStrings?.tokenLimitShowMore),\n valueText: i18n('i18nStrings.valueText', rest.i18nStrings?.valueText),\n };\n\n useImperativeHandle(ref, () => ({ focus: () => inputRef.current?.focus() }), []);\n const showResults = !!query.tokens?.length && !disabled && !!countText;\n const { addToken, removeToken, setToken, setOperation, removeAllTokens } = getQueryActions(\n query,\n onChange,\n inputRef\n );\n const [filteringText, setFilteringText] = useState<string>('');\n\n const { internalProperties, internalOptions, internalQuery, internalFreeText } = (() => {\n const propertyByKey = filteringProperties.reduce((acc, property) => {\n const extendedOperators = (property?.operators ?? []).reduce(\n (acc, operator) => (typeof operator === 'object' ? acc.set(operator.operator, operator) : acc),\n new Map<PropertyFilterOperator, null | ExtendedOperator<any>>()\n );\n acc.set(property.key, {\n propertyKey: property.key,\n propertyLabel: property?.propertyLabel ?? '',\n groupValuesLabel: property?.groupValuesLabel ?? '',\n propertyGroup: property?.group,\n operators: (property?.operators ?? []).map(op => (typeof op === 'string' ? op : op.operator)),\n defaultOperator: property?.defaultOperator ?? '=',\n getValueFormatter: operator => (operator ? extendedOperators.get(operator)?.format ?? null : null),\n getValueFormRenderer: operator => (operator ? extendedOperators.get(operator)?.form ?? null : null),\n externalProperty: property,\n });\n return acc;\n }, new Map<string, InternalFilteringProperty>());\n const getProperty = (propertyKey: string): null | InternalFilteringProperty =>\n propertyByKey.get(propertyKey) ?? null;\n\n const internalOptions: readonly InternalFilteringOption[] = filteringOptions.map(option => ({\n property: getProperty(option.propertyKey),\n value: option.value,\n label: option.label ?? option.value ?? '',\n }));\n\n const internalQuery: InternalQuery = {\n operation: query.operation,\n tokens: query.tokens.map(token => ({\n property: token.propertyKey ? getProperty(token.propertyKey) : null,\n operator: token.operator,\n value: token.value,\n __source: token,\n })),\n };\n\n const internalFreeText: InternalFreeTextFiltering = {\n disabled: disableFreeTextFiltering,\n operators: freeTextFiltering?.operators ?? [':', '!:'],\n defaultOperator: freeTextFiltering?.defaultOperator ?? ':',\n };\n\n return { internalProperties: [...propertyByKey.values()], internalOptions, internalQuery, internalFreeText };\n })();\n\n i18nStrings.removeTokenButtonAriaLabel = i18n(\n 'i18nStrings.removeTokenButtonAriaLabel',\n rest.i18nStrings?.removeTokenButtonAriaLabel,\n format => token => format(getI18nToken(token))\n );\n\n const parsedText = parseText(filteringText, internalProperties, internalFreeText);\n const autosuggestOptions = getAutosuggestOptions(\n parsedText,\n internalProperties,\n internalOptions,\n customGroupsText,\n i18nStrings\n );\n\n const createToken = (currentText: string) => {\n const parsedText = parseText(currentText, internalProperties, internalFreeText);\n let newToken: Token;\n switch (parsedText.step) {\n case 'property': {\n newToken = matchTokenValue(\n {\n property: parsedText.property,\n operator: parsedText.operator,\n value: parsedText.value,\n },\n internalOptions\n );\n break;\n }\n case 'free-text': {\n newToken = {\n operator: parsedText.operator || internalFreeText.defaultOperator,\n value: parsedText.value,\n };\n break;\n }\n case 'operator': {\n newToken = {\n operator: internalFreeText.defaultOperator,\n value: currentText,\n };\n break;\n }\n }\n if (internalFreeText.disabled && !('propertyKey' in newToken)) {\n return;\n }\n addToken(newToken);\n setFilteringText('');\n };\n const getLoadMoreDetail = (parsedText: ParsedText, filteringText: string) => {\n const loadMoreDetail: {\n filteringProperty: FilteringProperty | undefined;\n filteringText: string;\n filteringOperator: ComparisonOperator | undefined;\n } = {\n filteringProperty: undefined,\n filteringText,\n filteringOperator: undefined,\n };\n if (parsedText.step === 'property') {\n loadMoreDetail.filteringProperty = parsedText.property.externalProperty;\n loadMoreDetail.filteringText = parsedText.value;\n loadMoreDetail.filteringOperator = parsedText.operator;\n }\n return loadMoreDetail;\n };\n const loadMoreDetail = getLoadMoreDetail(parsedText, filteringText);\n const inputLoadItemsHandlers = useLoadItems(\n onLoadItems,\n loadMoreDetail.filteringText,\n loadMoreDetail.filteringProperty,\n loadMoreDetail.filteringText,\n loadMoreDetail.filteringOperator\n );\n const asyncProps = {\n empty: filteringEmpty,\n loadingText: filteringLoadingText,\n finishedText: filteringFinishedText,\n errorText: filteringErrorText,\n recoveryText: filteringRecoveryText,\n statusType: filteringStatusType,\n };\n const asyncAutosuggestProps =\n !!filteringText.length || asyncProperties\n ? {\n ...inputLoadItemsHandlers,\n ...asyncProps,\n }\n : {};\n const handleSelected: PropertyFilterAutosuggestProps['onOptionClick'] = event => {\n const { detail: option } = event;\n const value = option.value || '';\n if (!value) {\n return;\n }\n\n if (!('keepOpenOnSelect' in option)) {\n createToken(value);\n return;\n }\n\n // stop dropdown from closing\n event.preventDefault();\n\n const parsedText = parseText(value, internalProperties, internalFreeText);\n const loadMoreDetail = getLoadMoreDetail(parsedText, value);\n\n // Insert operator automatically if only one operator is defined for the given property.\n if (parsedText.step === 'operator') {\n const operators = getAllowedOperators(parsedText.property);\n if (value.trim() === parsedText.property.propertyLabel && operators.length === 1) {\n loadMoreDetail.filteringProperty = parsedText.property.externalProperty ?? undefined;\n loadMoreDetail.filteringOperator = operators[0];\n loadMoreDetail.filteringText = '';\n setFilteringText(parsedText.property.propertyLabel + ' ' + operators[0] + ' ');\n }\n }\n\n fireNonCancelableEvent(onLoadItems, { ...loadMoreDetail, firstPage: true, samePage: false });\n };\n\n const operatorForm =\n parsedText.step === 'property' && parsedText.property.getValueFormRenderer(parsedText.operator);\n\n const searchResultsId = useUniqueId('property-filter-search-results');\n const constraintTextId = useUniqueId('property-filter-constraint');\n const textboxAriaDescribedBy = filteringConstraintText\n ? joinStrings(rest.ariaDescribedby, constraintTextId)\n : rest.ariaDescribedby;\n\n return (\n <div {...baseProps} className={clsx(baseProps.className, styles.root)} ref={__internalRootRef}>\n <div className={styles['search-field']}>\n {customControl && <div className={styles['custom-control']}>{customControl}</div>}\n <PropertyFilterAutosuggest\n ref={inputRef}\n virtualScroll={virtualScroll}\n enteredTextLabel={i18nStrings.enteredTextLabel}\n ariaLabel={filteringAriaLabel ?? i18nStrings.filteringAriaLabel}\n placeholder={filteringPlaceholder ?? i18nStrings.filteringPlaceholder}\n ariaLabelledby={rest.ariaLabelledby}\n ariaDescribedby={textboxAriaDescribedBy}\n controlId={rest.controlId}\n value={filteringText}\n disabled={disabled}\n {...autosuggestOptions}\n onChange={event => setFilteringText(event.detail.value)}\n empty={filteringEmpty}\n {...asyncAutosuggestProps}\n expandToViewport={expandToViewport}\n onOptionClick={handleSelected}\n customForm={\n operatorForm && (\n <PropertyEditor\n property={parsedText.property}\n operator={parsedText.operator}\n filter={parsedText.value}\n operatorForm={operatorForm}\n i18nStrings={i18nStrings}\n onCancel={() => {\n setFilteringText('');\n inputRef.current?.close();\n inputRef.current?.focus({ preventDropdown: true });\n }}\n onSubmit={token => {\n addToken(token);\n setFilteringText('');\n inputRef.current?.focus({ preventDropdown: true });\n inputRef.current?.close();\n }}\n />\n )\n }\n hideEnteredTextOption={internalFreeText.disabled && parsedText.step !== 'property'}\n clearAriaLabel={i18nStrings.clearAriaLabel}\n searchResultsId={showResults ? searchResultsId : undefined}\n />\n {showResults ? (\n <div className={styles.results}>\n <SearchResults id={searchResultsId}>{countText}</SearchResults>\n </div>\n ) : null}\n </div>\n {filteringConstraintText && (\n <div id={constraintTextId} className={styles.constraint}>\n {filteringConstraintText}\n </div>\n )}\n {internalQuery.tokens && internalQuery.tokens.length > 0 && (\n <div className={styles.tokens}>\n <InternalSpaceBetween size=\"xs\" direction=\"horizontal\">\n <TokenList\n alignment=\"inline\"\n limit={tokenLimit}\n items={internalQuery.tokens}\n limitShowFewerAriaLabel={tokenLimitShowFewerAriaLabel}\n limitShowMoreAriaLabel={tokenLimitShowMoreAriaLabel}\n renderItem={(token, tokenIndex) => (\n <TokenButton\n token={token}\n first={tokenIndex === 0}\n operation={internalQuery.operation}\n removeToken={() => {\n removeToken(tokenIndex);\n setRemovedTokenIndex(tokenIndex);\n }}\n setToken={(newToken: Token) => setToken(tokenIndex, newToken)}\n setOperation={setOperation}\n filteringProperties={internalProperties}\n filteringOptions={internalOptions}\n asyncProps={asyncProps}\n onLoadItems={onLoadItems}\n i18nStrings={i18nStrings}\n asyncProperties={asyncProperties}\n hideOperations={hideOperations}\n customGroupsText={customGroupsText}\n freeTextFiltering={internalFreeText}\n disabled={disabled}\n expandToViewport={expandToViewport}\n />\n )}\n i18nStrings={{\n limitShowFewer: i18nStrings.tokenLimitShowFewer,\n limitShowMore: i18nStrings.tokenLimitShowMore,\n }}\n after={\n customFilterActions ? (\n <div className={styles['custom-filter-actions']}>{customFilterActions}</div>\n ) : (\n <InternalButton\n formAction=\"none\"\n onClick={removeAllTokens}\n className={styles['remove-all']}\n disabled={disabled}\n >\n {i18nStrings.clearFiltersText}\n </InternalButton>\n )\n }\n moveFocusNextToIndex={removedTokenIndex}\n />\n </InternalSpaceBetween>\n </div>\n )}\n </div>\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":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,sBAAsB,MAAM,YAAY,CAAC;AAIhD,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,CACE,EAUsB,EACtB,GAAmB,EACnB,EAAE;QAZF,EACE,gBAAgB,GAAG,EAAE,EACrB,gBAAgB,GAAG,EAAE,EACrB,wBAAwB,GAAG,KAAK,EAChC,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,aAAa,OAEO,EADjB,IAAI,cATT,4JAUC,CADQ;IAIT,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,gBAAgB,EAAE;QAC5D,KAAK,EAAE,EAAE,eAAe,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE;KAClH,CAAC,CAAC;IACH,OAAO,CACL,oBAAC,sBAAsB,kBACrB,GAAG,EAAE,GAAG,IACJ,kBAAkB,IACtB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,wBAAwB,EAAE,wBAAwB,EAClD,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,IACxB,IAAI,EACR,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AACnD,eAAe,cAAc,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { PropertyFilterProps, Ref } from './interfaces';\nimport PropertyFilterInternal from './internal';\n\nexport { PropertyFilterProps };\n\nconst PropertyFilter = React.forwardRef(\n (\n {\n filteringOptions = [],\n customGroupsText = [],\n disableFreeTextFiltering = false,\n asyncProperties,\n expandToViewport,\n hideOperations,\n tokenLimit,\n virtualScroll,\n ...rest\n }: PropertyFilterProps,\n ref: React.Ref<Ref>\n ) => {\n const baseComponentProps = useBaseComponent('PropertyFilter', {\n props: { asyncProperties, disableFreeTextFiltering, expandToViewport, hideOperations, tokenLimit, virtualScroll },\n });\n return (\n <PropertyFilterInternal\n ref={ref}\n {...baseComponentProps}\n filteringOptions={filteringOptions}\n customGroupsText={customGroupsText}\n disableFreeTextFiltering={disableFreeTextFiltering}\n asyncProperties={asyncProperties}\n expandToViewport={expandToViewport}\n hideOperations={hideOperations}\n tokenLimit={tokenLimit}\n virtualScroll={virtualScroll}\n {...rest}\n />\n );\n }\n);\n\napplyDisplayName(PropertyFilter, 'PropertyFilter');\nexport default PropertyFilter;\n"]}
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { InternalBaseComponentProps } from '../internal/hooks/use-base-component';
3
+ import { SomeRequired } from '../internal/types';
4
+ import { FormattedToken, PropertyFilterProps } from './interfaces';
5
+ export interface I18nStringsExt {
6
+ tokenEditorTokenActionsLabel?: (token: FormattedToken) => string;
7
+ tokenEditorTokenRemoveLabel?: (token: FormattedToken) => string;
8
+ tokenEditorTokenRemoveFromGroupLabel?: (token: FormattedToken) => string;
9
+ tokenEditorAddNewTokenLabel?: string;
10
+ tokenEditorAddTokenActionsLabel?: string;
11
+ tokenEditorAddExistingTokenLabel?: (token: FormattedToken) => string;
12
+ }
13
+ export type PropertyFilterInternalProps = SomeRequired<PropertyFilterProps, 'filteringOptions' | 'customGroupsText' | 'disableFreeTextFiltering'> & InternalBaseComponentProps & {
14
+ enableTokenGroups?: boolean;
15
+ i18nStringsExt?: I18nStringsExt;
16
+ };
17
+ declare const PropertyFilterInternal: React.ForwardRefExoticComponent<PropertyFilterProps & {
18
+ filteringOptions: readonly import("@cloudscape-design/collection-hooks").PropertyFilterOption[];
19
+ customGroupsText: PropertyFilterProps.GroupText[];
20
+ disableFreeTextFiltering: boolean;
21
+ } & InternalBaseComponentProps<any> & {
22
+ enableTokenGroups?: boolean | undefined;
23
+ i18nStringsExt?: I18nStringsExt | undefined;
24
+ } & React.RefAttributes<PropertyFilterProps.Ref>>;
25
+ export default PropertyFilterInternal;
26
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/property-filter/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAWrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMjD,OAAO,EAIL,cAAc,EAMd,mBAAmB,EAGpB,MAAM,cAAc,CAAC;AAStB,MAAM,WAAW,cAAc;IAC7B,4BAA4B,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC;IACjE,2BAA2B,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC;IAChE,oCAAoC,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC;IACzE,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,gCAAgC,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC;CACtE;AAED,MAAM,MAAM,2BAA2B,GAAG,YAAY,CACpD,mBAAmB,EACnB,kBAAkB,GAAG,kBAAkB,GAAG,0BAA0B,CACrE,GACC,0BAA0B,GAAG;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEJ,QAAA,MAAM,sBAAsB;;;;;;;iDAwY3B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,201 @@
1
+ import { __rest } from "tslib";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ import React, { useImperativeHandle, useRef, useState } from 'react';
5
+ import clsx from 'clsx';
6
+ import { InternalButton } from '../button/internal';
7
+ import { useInternalI18n } from '../i18n/context';
8
+ import { getBaseProps } from '../internal/base-component';
9
+ import TokenList from '../internal/components/token-list';
10
+ import { fireNonCancelableEvent } from '../internal/events';
11
+ import { useUniqueId } from '../internal/hooks/use-unique-id/index';
12
+ import { joinStrings } from '../internal/utils/strings';
13
+ import InternalSpaceBetween from '../space-between/internal';
14
+ import { SearchResults } from '../text-filter/search-results';
15
+ import { getAllowedOperators, getAutosuggestOptions, getQueryActions, parseText } from './controller';
16
+ import { getI18nToken } from './i18n-utils';
17
+ import { PropertyEditor } from './property-editor';
18
+ import PropertyFilterAutosuggest from './property-filter-autosuggest';
19
+ import { TokenButton } from './token';
20
+ import { useLoadItems } from './use-load-items';
21
+ import { matchTokenValue } from './utils';
22
+ import styles from './styles.css.js';
23
+ const PropertyFilterInternal = React.forwardRef((_a, ref) => {
24
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
25
+ var { disabled, countText, query, hideOperations, onChange, filteringProperties, filteringOptions, customGroupsText, disableFreeTextFiltering, freeTextFiltering, onLoadItems, virtualScroll, customControl, customFilterActions, filteringPlaceholder, filteringAriaLabel, filteringEmpty, filteringLoadingText, filteringFinishedText, filteringErrorText, filteringRecoveryText, filteringConstraintText, filteringStatusType, asyncProperties, tokenLimit, expandToViewport, tokenLimitShowFewerAriaLabel, tokenLimitShowMoreAriaLabel, enableTokenGroups = false, i18nStringsExt = {}, __internalRootRef } = _a, rest = __rest(_a, ["disabled", "countText", "query", "hideOperations", "onChange", "filteringProperties", "filteringOptions", "customGroupsText", "disableFreeTextFiltering", "freeTextFiltering", "onLoadItems", "virtualScroll", "customControl", "customFilterActions", "filteringPlaceholder", "filteringAriaLabel", "filteringEmpty", "filteringLoadingText", "filteringFinishedText", "filteringErrorText", "filteringRecoveryText", "filteringConstraintText", "filteringStatusType", "asyncProperties", "tokenLimit", "expandToViewport", "tokenLimitShowFewerAriaLabel", "tokenLimitShowMoreAriaLabel", "enableTokenGroups", "i18nStringsExt", "__internalRootRef"]);
26
+ const [removedTokenIndex, setRemovedTokenIndex] = useState(null);
27
+ const inputRef = useRef(null);
28
+ const baseProps = getBaseProps(rest);
29
+ const i18n = useInternalI18n('property-filter');
30
+ const i18nStrings = Object.assign(Object.assign(Object.assign({}, rest.i18nStrings), { allPropertiesLabel: i18n('i18nStrings.allPropertiesLabel', (_b = rest.i18nStrings) === null || _b === void 0 ? void 0 : _b.allPropertiesLabel), applyActionText: i18n('i18nStrings.applyActionText', (_c = rest.i18nStrings) === null || _c === void 0 ? void 0 : _c.applyActionText), cancelActionText: i18n('i18nStrings.cancelActionText', (_d = rest.i18nStrings) === null || _d === void 0 ? void 0 : _d.cancelActionText), clearFiltersText: i18n('i18nStrings.clearFiltersText', (_e = rest.i18nStrings) === null || _e === void 0 ? void 0 : _e.clearFiltersText), editTokenHeader: i18n('i18nStrings.editTokenHeader', (_f = rest.i18nStrings) === null || _f === void 0 ? void 0 : _f.editTokenHeader), groupPropertiesText: i18n('i18nStrings.groupPropertiesText', (_g = rest.i18nStrings) === null || _g === void 0 ? void 0 : _g.groupPropertiesText), groupValuesText: i18n('i18nStrings.groupValuesText', (_h = rest.i18nStrings) === null || _h === void 0 ? void 0 : _h.groupValuesText), operationAndText: i18n('i18nStrings.operationAndText', (_j = rest.i18nStrings) === null || _j === void 0 ? void 0 : _j.operationAndText), operationOrText: i18n('i18nStrings.operationOrText', (_k = rest.i18nStrings) === null || _k === void 0 ? void 0 : _k.operationOrText), operatorContainsText: i18n('i18nStrings.operatorContainsText', (_l = rest.i18nStrings) === null || _l === void 0 ? void 0 : _l.operatorContainsText), operatorDoesNotContainText: i18n('i18nStrings.operatorDoesNotContainText', (_m = rest.i18nStrings) === null || _m === void 0 ? void 0 : _m.operatorDoesNotContainText), operatorDoesNotEqualText: i18n('i18nStrings.operatorDoesNotEqualText', (_o = rest.i18nStrings) === null || _o === void 0 ? void 0 : _o.operatorDoesNotEqualText), operatorEqualsText: i18n('i18nStrings.operatorEqualsText', (_p = rest.i18nStrings) === null || _p === void 0 ? void 0 : _p.operatorEqualsText), operatorGreaterOrEqualText: i18n('i18nStrings.operatorGreaterOrEqualText', (_q = rest.i18nStrings) === null || _q === void 0 ? void 0 : _q.operatorGreaterOrEqualText), operatorGreaterText: i18n('i18nStrings.operatorGreaterText', (_r = rest.i18nStrings) === null || _r === void 0 ? void 0 : _r.operatorGreaterText), operatorLessOrEqualText: i18n('i18nStrings.operatorLessOrEqualText', (_s = rest.i18nStrings) === null || _s === void 0 ? void 0 : _s.operatorLessOrEqualText), operatorLessText: i18n('i18nStrings.operatorLessText', (_t = rest.i18nStrings) === null || _t === void 0 ? void 0 : _t.operatorLessText), operatorStartsWithText: i18n('i18nStrings.operatorStartsWithText', (_u = rest.i18nStrings) === null || _u === void 0 ? void 0 : _u.operatorStartsWithText), operatorDoesNotStartWithText: i18n('i18nStrings.operatorDoesNotStartWithText', (_v = rest.i18nStrings) === null || _v === void 0 ? void 0 : _v.operatorDoesNotStartWithText), operatorText: i18n('i18nStrings.operatorText', (_w = rest.i18nStrings) === null || _w === void 0 ? void 0 : _w.operatorText), operatorsText: i18n('i18nStrings.operatorsText', (_x = rest.i18nStrings) === null || _x === void 0 ? void 0 : _x.operatorsText), propertyText: i18n('i18nStrings.propertyText', (_y = rest.i18nStrings) === null || _y === void 0 ? void 0 : _y.propertyText), tokenLimitShowFewer: i18n('i18nStrings.tokenLimitShowFewer', (_z = rest.i18nStrings) === null || _z === void 0 ? void 0 : _z.tokenLimitShowFewer), tokenLimitShowMore: i18n('i18nStrings.tokenLimitShowMore', (_0 = rest.i18nStrings) === null || _0 === void 0 ? void 0 : _0.tokenLimitShowMore), valueText: i18n('i18nStrings.valueText', (_1 = rest.i18nStrings) === null || _1 === void 0 ? void 0 : _1.valueText) }), i18nStringsExt);
31
+ useImperativeHandle(ref, () => ({ focus: () => { var _a; return (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus(); } }), []);
32
+ const showResults = !!((_2 = query.tokens) === null || _2 === void 0 ? void 0 : _2.length) && !disabled && !!countText;
33
+ const { addToken, removeToken, setToken, setOperation, removeAllTokens } = getQueryActions(query, onChange, inputRef);
34
+ const [filteringText, setFilteringText] = useState('');
35
+ const { internalProperties, internalOptions, internalQuery, internalFreeText } = (() => {
36
+ var _a, _b;
37
+ const propertyByKey = filteringProperties.reduce((acc, property) => {
38
+ var _a, _b, _c, _d, _e;
39
+ const extendedOperators = ((_a = property === null || property === void 0 ? void 0 : property.operators) !== null && _a !== void 0 ? _a : []).reduce((acc, operator) => (typeof operator === 'object' ? acc.set(operator.operator, operator) : acc), new Map());
40
+ acc.set(property.key, {
41
+ propertyKey: property.key,
42
+ propertyLabel: (_b = property === null || property === void 0 ? void 0 : property.propertyLabel) !== null && _b !== void 0 ? _b : '',
43
+ groupValuesLabel: (_c = property === null || property === void 0 ? void 0 : property.groupValuesLabel) !== null && _c !== void 0 ? _c : '',
44
+ propertyGroup: property === null || property === void 0 ? void 0 : property.group,
45
+ operators: ((_d = property === null || property === void 0 ? void 0 : property.operators) !== null && _d !== void 0 ? _d : []).map(op => (typeof op === 'string' ? op : op.operator)),
46
+ defaultOperator: (_e = property === null || property === void 0 ? void 0 : property.defaultOperator) !== null && _e !== void 0 ? _e : '=',
47
+ getValueFormatter: operator => { var _a, _b; return (operator ? (_b = (_a = extendedOperators.get(operator)) === null || _a === void 0 ? void 0 : _a.format) !== null && _b !== void 0 ? _b : null : null); },
48
+ getValueFormRenderer: operator => { var _a, _b; return (operator ? (_b = (_a = extendedOperators.get(operator)) === null || _a === void 0 ? void 0 : _a.form) !== null && _b !== void 0 ? _b : null : null); },
49
+ externalProperty: property,
50
+ });
51
+ return acc;
52
+ }, new Map());
53
+ const getProperty = (propertyKey) => { var _a; return (_a = propertyByKey.get(propertyKey)) !== null && _a !== void 0 ? _a : null; };
54
+ const internalOptions = filteringOptions.map(option => {
55
+ var _a, _b;
56
+ return ({
57
+ property: getProperty(option.propertyKey),
58
+ value: option.value,
59
+ label: (_b = (_a = option.label) !== null && _a !== void 0 ? _a : option.value) !== null && _b !== void 0 ? _b : '',
60
+ });
61
+ });
62
+ const internalQuery = {
63
+ operation: query.operation,
64
+ tokens: query.tokens.map(token => ({
65
+ property: token.propertyKey ? getProperty(token.propertyKey) : null,
66
+ operator: token.operator,
67
+ value: token.value,
68
+ __source: token,
69
+ })),
70
+ };
71
+ const internalFreeText = {
72
+ disabled: disableFreeTextFiltering,
73
+ operators: (_a = freeTextFiltering === null || freeTextFiltering === void 0 ? void 0 : freeTextFiltering.operators) !== null && _a !== void 0 ? _a : [':', '!:'],
74
+ defaultOperator: (_b = freeTextFiltering === null || freeTextFiltering === void 0 ? void 0 : freeTextFiltering.defaultOperator) !== null && _b !== void 0 ? _b : ':',
75
+ };
76
+ return { internalProperties: [...propertyByKey.values()], internalOptions, internalQuery, internalFreeText };
77
+ })();
78
+ i18nStrings.removeTokenButtonAriaLabel = i18n('i18nStrings.removeTokenButtonAriaLabel', (_3 = rest.i18nStrings) === null || _3 === void 0 ? void 0 : _3.removeTokenButtonAriaLabel, format => token => format(getI18nToken(token)));
79
+ const parsedText = parseText(filteringText, internalProperties, internalFreeText);
80
+ const autosuggestOptions = getAutosuggestOptions(parsedText, internalProperties, internalOptions, customGroupsText, i18nStrings);
81
+ const createToken = (currentText) => {
82
+ const parsedText = parseText(currentText, internalProperties, internalFreeText);
83
+ let newToken;
84
+ switch (parsedText.step) {
85
+ case 'property': {
86
+ newToken = matchTokenValue({
87
+ property: parsedText.property,
88
+ operator: parsedText.operator,
89
+ value: parsedText.value,
90
+ }, internalOptions);
91
+ break;
92
+ }
93
+ case 'free-text': {
94
+ newToken = {
95
+ operator: parsedText.operator || internalFreeText.defaultOperator,
96
+ value: parsedText.value,
97
+ };
98
+ break;
99
+ }
100
+ case 'operator': {
101
+ newToken = {
102
+ operator: internalFreeText.defaultOperator,
103
+ value: currentText,
104
+ };
105
+ break;
106
+ }
107
+ }
108
+ if (internalFreeText.disabled && !('propertyKey' in newToken)) {
109
+ return;
110
+ }
111
+ addToken(newToken);
112
+ setFilteringText('');
113
+ };
114
+ const getLoadMoreDetail = (parsedText, filteringText) => {
115
+ const loadMoreDetail = {
116
+ filteringProperty: undefined,
117
+ filteringText,
118
+ filteringOperator: undefined,
119
+ };
120
+ if (parsedText.step === 'property') {
121
+ loadMoreDetail.filteringProperty = parsedText.property.externalProperty;
122
+ loadMoreDetail.filteringText = parsedText.value;
123
+ loadMoreDetail.filteringOperator = parsedText.operator;
124
+ }
125
+ return loadMoreDetail;
126
+ };
127
+ const loadMoreDetail = getLoadMoreDetail(parsedText, filteringText);
128
+ const inputLoadItemsHandlers = useLoadItems(onLoadItems, loadMoreDetail.filteringText, loadMoreDetail.filteringProperty, loadMoreDetail.filteringText, loadMoreDetail.filteringOperator);
129
+ const asyncProps = {
130
+ empty: filteringEmpty,
131
+ loadingText: filteringLoadingText,
132
+ finishedText: filteringFinishedText,
133
+ errorText: filteringErrorText,
134
+ recoveryText: filteringRecoveryText,
135
+ statusType: filteringStatusType,
136
+ };
137
+ const asyncAutosuggestProps = !!filteringText.length || asyncProperties
138
+ ? Object.assign(Object.assign({}, inputLoadItemsHandlers), asyncProps) : {};
139
+ const handleSelected = event => {
140
+ var _a;
141
+ const { detail: option } = event;
142
+ const value = option.value || '';
143
+ if (!value) {
144
+ return;
145
+ }
146
+ if (!('keepOpenOnSelect' in option)) {
147
+ createToken(value);
148
+ return;
149
+ }
150
+ // stop dropdown from closing
151
+ event.preventDefault();
152
+ const parsedText = parseText(value, internalProperties, internalFreeText);
153
+ const loadMoreDetail = getLoadMoreDetail(parsedText, value);
154
+ // Insert operator automatically if only one operator is defined for the given property.
155
+ if (parsedText.step === 'operator') {
156
+ const operators = getAllowedOperators(parsedText.property);
157
+ if (value.trim() === parsedText.property.propertyLabel && operators.length === 1) {
158
+ loadMoreDetail.filteringProperty = (_a = parsedText.property.externalProperty) !== null && _a !== void 0 ? _a : undefined;
159
+ loadMoreDetail.filteringOperator = operators[0];
160
+ loadMoreDetail.filteringText = '';
161
+ setFilteringText(parsedText.property.propertyLabel + ' ' + operators[0] + ' ');
162
+ }
163
+ }
164
+ fireNonCancelableEvent(onLoadItems, Object.assign(Object.assign({}, loadMoreDetail), { firstPage: true, samePage: false }));
165
+ };
166
+ const operatorForm = parsedText.step === 'property' && parsedText.property.getValueFormRenderer(parsedText.operator);
167
+ const searchResultsId = useUniqueId('property-filter-search-results');
168
+ const constraintTextId = useUniqueId('property-filter-constraint');
169
+ const textboxAriaDescribedBy = filteringConstraintText
170
+ ? joinStrings(rest.ariaDescribedby, constraintTextId)
171
+ : rest.ariaDescribedby;
172
+ return (React.createElement("div", Object.assign({}, baseProps, { className: clsx(baseProps.className, styles.root), ref: __internalRootRef }),
173
+ React.createElement("div", { className: styles['search-field'] },
174
+ customControl && React.createElement("div", { className: styles['custom-control'] }, customControl),
175
+ React.createElement(PropertyFilterAutosuggest, Object.assign({ ref: inputRef, virtualScroll: virtualScroll, enteredTextLabel: i18nStrings.enteredTextLabel, ariaLabel: filteringAriaLabel !== null && filteringAriaLabel !== void 0 ? filteringAriaLabel : i18nStrings.filteringAriaLabel, placeholder: filteringPlaceholder !== null && filteringPlaceholder !== void 0 ? filteringPlaceholder : i18nStrings.filteringPlaceholder, ariaLabelledby: rest.ariaLabelledby, ariaDescribedby: textboxAriaDescribedBy, controlId: rest.controlId, value: filteringText, disabled: disabled }, autosuggestOptions, { onChange: event => setFilteringText(event.detail.value), empty: filteringEmpty }, asyncAutosuggestProps, { expandToViewport: expandToViewport, onOptionClick: handleSelected, customForm: operatorForm && (React.createElement(PropertyEditor, { property: parsedText.property, operator: parsedText.operator, filter: parsedText.value, operatorForm: operatorForm, i18nStrings: i18nStrings, onCancel: () => {
176
+ var _a, _b;
177
+ setFilteringText('');
178
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.close();
179
+ (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.focus({ preventDropdown: true });
180
+ }, onSubmit: token => {
181
+ var _a, _b;
182
+ addToken(token);
183
+ setFilteringText('');
184
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus({ preventDropdown: true });
185
+ (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.close();
186
+ } })), hideEnteredTextOption: internalFreeText.disabled && parsedText.step !== 'property', clearAriaLabel: i18nStrings.clearAriaLabel, searchResultsId: showResults ? searchResultsId : undefined })),
187
+ showResults ? (React.createElement("div", { className: styles.results },
188
+ React.createElement(SearchResults, { id: searchResultsId }, countText))) : null),
189
+ filteringConstraintText && (React.createElement("div", { id: constraintTextId, className: styles.constraint }, filteringConstraintText)),
190
+ internalQuery.tokens && internalQuery.tokens.length > 0 && (React.createElement("div", { className: styles.tokens },
191
+ React.createElement(InternalSpaceBetween, { size: "xs", direction: "horizontal" },
192
+ React.createElement(TokenList, { alignment: "inline", limit: tokenLimit, items: internalQuery.tokens, limitShowFewerAriaLabel: tokenLimitShowFewerAriaLabel, limitShowMoreAriaLabel: tokenLimitShowMoreAriaLabel, renderItem: (token, tokenIndex) => (React.createElement(TokenButton, { token: token, first: tokenIndex === 0, operation: internalQuery.operation, removeToken: () => {
193
+ removeToken(tokenIndex);
194
+ setRemovedTokenIndex(tokenIndex);
195
+ }, setToken: (newToken) => setToken(tokenIndex, newToken), setOperation: setOperation, filteringProperties: internalProperties, filteringOptions: internalOptions, asyncProps: asyncProps, onLoadItems: onLoadItems, i18nStrings: i18nStrings, asyncProperties: asyncProperties, hideOperations: hideOperations, customGroupsText: customGroupsText, freeTextFiltering: internalFreeText, disabled: disabled, expandToViewport: expandToViewport, enableTokenGroups: enableTokenGroups })), i18nStrings: {
196
+ limitShowFewer: i18nStrings.tokenLimitShowFewer,
197
+ limitShowMore: i18nStrings.tokenLimitShowMore,
198
+ }, after: customFilterActions ? (React.createElement("div", { className: styles['custom-filter-actions'] }, customFilterActions)) : (React.createElement(InternalButton, { formAction: "none", onClick: removeAllTokens, className: styles['remove-all'], disabled: disabled }, i18nStrings.clearFiltersText)), moveFocusNextToIndex: removedTokenIndex }))))));
199
+ });
200
+ export default PropertyFilterInternal;
201
+ //# sourceMappingURL=internal.js.map