@cloudscape-design/components-themeable 3.0.1328 → 3.0.1330

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 (416) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/anchor-navigation/styles.scss +3 -0
  3. package/lib/internal/scss/app-layout/constants.scss +1 -1
  4. package/lib/internal/scss/app-layout/visual-refresh-toolbar/drawer/styles.scss +16 -1
  5. package/lib/internal/scss/app-layout/visual-refresh-toolbar/toolbar/styles.scss +20 -7
  6. package/lib/internal/scss/button/constants.scss +2 -2
  7. package/lib/internal/scss/expandable-section/styles.scss +1 -1
  8. package/lib/internal/scss/header/styles.scss +11 -0
  9. package/lib/internal/scss/internal/components/option/styles.scss +6 -2
  10. package/lib/internal/scss/internal/components/selectable-item/styles.scss +9 -8
  11. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +173 -160
  12. package/lib/internal/scss/tree-view/tree-item/styles.scss +9 -4
  13. package/lib/internal/template/action-card/styles.css.js +17 -17
  14. package/lib/internal/template/action-card/styles.scoped.css +189 -189
  15. package/lib/internal/template/action-card/styles.selectors.js +17 -17
  16. package/lib/internal/template/alert/styles.css.js +27 -27
  17. package/lib/internal/template/alert/styles.scoped.css +59 -59
  18. package/lib/internal/template/alert/styles.selectors.js +27 -27
  19. package/lib/internal/template/anchor-navigation/anchor-item/index.js +1 -1
  20. package/lib/internal/template/anchor-navigation/anchor-item/index.js.map +1 -1
  21. package/lib/internal/template/anchor-navigation/styles.css.js +8 -8
  22. package/lib/internal/template/anchor-navigation/styles.scoped.css +34 -32
  23. package/lib/internal/template/anchor-navigation/styles.selectors.js +8 -8
  24. package/lib/internal/template/annotation-context/annotation/styles.css.js +13 -13
  25. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +26 -26
  26. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +13 -13
  27. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  28. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  29. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  30. package/lib/internal/template/app-layout/toggles/styles.css.js +2 -2
  31. package/lib/internal/template/app-layout/toggles/styles.scoped.css +10 -10
  32. package/lib/internal/template/app-layout/toggles/styles.selectors.js +2 -2
  33. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  34. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +273 -273
  35. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  36. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +32 -32
  37. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +120 -108
  38. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +32 -32
  39. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  40. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  41. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  42. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +29 -29
  43. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +75 -75
  44. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +29 -29
  45. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +14 -14
  46. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +52 -42
  47. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +14 -14
  48. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.css.js +6 -6
  49. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scoped.css +22 -22
  50. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.selectors.js +6 -6
  51. package/lib/internal/template/area-chart/styles.css.js +6 -6
  52. package/lib/internal/template/area-chart/styles.scoped.css +14 -14
  53. package/lib/internal/template/area-chart/styles.selectors.js +6 -6
  54. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  55. package/lib/internal/template/attribute-editor/styles.scoped.css +30 -30
  56. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  57. package/lib/internal/template/badge/styles.css.js +10 -10
  58. package/lib/internal/template/badge/styles.scoped.css +15 -15
  59. package/lib/internal/template/badge/styles.selectors.js +10 -10
  60. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  61. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +36 -36
  62. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  63. package/lib/internal/template/breadcrumb-group/styles.css.js +14 -14
  64. package/lib/internal/template/breadcrumb-group/styles.scoped.css +29 -29
  65. package/lib/internal/template/breadcrumb-group/styles.selectors.js +14 -14
  66. package/lib/internal/template/button/styles.css.js +22 -22
  67. package/lib/internal/template/button/styles.scoped.css +266 -266
  68. package/lib/internal/template/button/styles.selectors.js +22 -22
  69. package/lib/internal/template/button-dropdown/category-elements/styles.css.js +18 -18
  70. package/lib/internal/template/button-dropdown/category-elements/styles.scoped.css +43 -43
  71. package/lib/internal/template/button-dropdown/category-elements/styles.selectors.js +18 -18
  72. package/lib/internal/template/button-dropdown/item-element/styles.css.js +21 -21
  73. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +46 -46
  74. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +21 -21
  75. package/lib/internal/template/button-dropdown/styles.css.js +23 -23
  76. package/lib/internal/template/button-dropdown/styles.scoped.css +37 -37
  77. package/lib/internal/template/button-dropdown/styles.selectors.js +23 -23
  78. package/lib/internal/template/button-group/styles.css.js +4 -4
  79. package/lib/internal/template/button-group/styles.scoped.css +5 -5
  80. package/lib/internal/template/button-group/styles.selectors.js +4 -4
  81. package/lib/internal/template/calendar/styles.css.js +21 -21
  82. package/lib/internal/template/calendar/styles.scoped.css +76 -76
  83. package/lib/internal/template/calendar/styles.selectors.js +21 -21
  84. package/lib/internal/template/checkbox/styles.css.js +3 -3
  85. package/lib/internal/template/checkbox/styles.scoped.css +11 -11
  86. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  87. package/lib/internal/template/code-editor/styles.css.js +33 -33
  88. package/lib/internal/template/code-editor/styles.scoped.css +246 -246
  89. package/lib/internal/template/code-editor/styles.selectors.js +33 -33
  90. package/lib/internal/template/collection-preferences/styles.css.js +38 -38
  91. package/lib/internal/template/collection-preferences/styles.scoped.css +49 -49
  92. package/lib/internal/template/collection-preferences/styles.selectors.js +38 -38
  93. package/lib/internal/template/column-layout/flexible-column-layout/styles.css.js +5 -5
  94. package/lib/internal/template/column-layout/flexible-column-layout/styles.scoped.css +9 -9
  95. package/lib/internal/template/column-layout/flexible-column-layout/styles.selectors.js +5 -5
  96. package/lib/internal/template/column-layout/styles.css.js +13 -13
  97. package/lib/internal/template/column-layout/styles.scoped.css +46 -46
  98. package/lib/internal/template/column-layout/styles.selectors.js +13 -13
  99. package/lib/internal/template/container/styles.css.js +33 -33
  100. package/lib/internal/template/container/styles.scoped.css +102 -102
  101. package/lib/internal/template/container/styles.selectors.js +33 -33
  102. package/lib/internal/template/content-layout/styles.css.js +14 -14
  103. package/lib/internal/template/content-layout/styles.scoped.css +27 -27
  104. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  105. package/lib/internal/template/date-picker/styles.css.js +7 -7
  106. package/lib/internal/template/date-picker/styles.scoped.css +13 -13
  107. package/lib/internal/template/date-picker/styles.selectors.js +7 -7
  108. package/lib/internal/template/date-range-picker/calendar/grids/styles.css.js +30 -30
  109. package/lib/internal/template/date-range-picker/calendar/grids/styles.scoped.css +89 -89
  110. package/lib/internal/template/date-range-picker/calendar/grids/styles.selectors.js +30 -30
  111. package/lib/internal/template/date-range-picker/styles.css.js +23 -23
  112. package/lib/internal/template/date-range-picker/styles.scoped.css +40 -40
  113. package/lib/internal/template/date-range-picker/styles.selectors.js +23 -23
  114. package/lib/internal/template/divider/styles.css.js +6 -6
  115. package/lib/internal/template/divider/styles.scoped.css +9 -9
  116. package/lib/internal/template/divider/styles.selectors.js +6 -6
  117. package/lib/internal/template/drawer/styles.css.js +29 -29
  118. package/lib/internal/template/drawer/styles.scoped.css +45 -45
  119. package/lib/internal/template/drawer/styles.selectors.js +29 -29
  120. package/lib/internal/template/dropdown/styles.css.js +20 -20
  121. package/lib/internal/template/dropdown/styles.scoped.css +52 -52
  122. package/lib/internal/template/dropdown/styles.selectors.js +20 -20
  123. package/lib/internal/template/expandable-section/expandable-section-header.d.ts.map +1 -1
  124. package/lib/internal/template/expandable-section/expandable-section-header.js +1 -1
  125. package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
  126. package/lib/internal/template/expandable-section/styles.css.js +35 -35
  127. package/lib/internal/template/expandable-section/styles.scoped.css +95 -95
  128. package/lib/internal/template/expandable-section/styles.selectors.js +35 -35
  129. package/lib/internal/template/file-dropzone/styles.css.js +3 -3
  130. package/lib/internal/template/file-dropzone/styles.scoped.css +7 -7
  131. package/lib/internal/template/file-dropzone/styles.selectors.js +3 -3
  132. package/lib/internal/template/file-input/styles.css.js +5 -5
  133. package/lib/internal/template/file-input/styles.scoped.css +16 -16
  134. package/lib/internal/template/file-input/styles.selectors.js +5 -5
  135. package/lib/internal/template/file-token-group/styles.css.js +23 -23
  136. package/lib/internal/template/file-token-group/styles.scoped.css +46 -46
  137. package/lib/internal/template/file-token-group/styles.selectors.js +23 -23
  138. package/lib/internal/template/flashbar/styles.css.js +50 -50
  139. package/lib/internal/template/flashbar/styles.scoped.css +203 -203
  140. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  141. package/lib/internal/template/form-field/styles.css.js +24 -24
  142. package/lib/internal/template/form-field/styles.scoped.css +39 -39
  143. package/lib/internal/template/form-field/styles.selectors.js +24 -24
  144. package/lib/internal/template/header/internal.d.ts +2 -1
  145. package/lib/internal/template/header/internal.d.ts.map +1 -1
  146. package/lib/internal/template/header/internal.js +2 -2
  147. package/lib/internal/template/header/internal.js.map +1 -1
  148. package/lib/internal/template/header/styles.css.js +35 -34
  149. package/lib/internal/template/header/styles.scoped.css +66 -58
  150. package/lib/internal/template/header/styles.selectors.js +35 -34
  151. package/lib/internal/template/help-panel/styles.css.js +6 -6
  152. package/lib/internal/template/help-panel/styles.scoped.css +80 -80
  153. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  154. package/lib/internal/template/icon/generated/icons.d.ts +1 -0
  155. package/lib/internal/template/icon/generated/icons.d.ts.map +1 -1
  156. package/lib/internal/template/icon/generated/icons.js +3 -0
  157. package/lib/internal/template/icon/generated/icons.js.map +1 -1
  158. package/lib/internal/template/icon/styles.css.js +41 -41
  159. package/lib/internal/template/icon/styles.scoped.css +97 -97
  160. package/lib/internal/template/icon/styles.selectors.js +41 -41
  161. package/lib/internal/template/icon-provider/interfaces.d.ts +1 -1
  162. package/lib/internal/template/icon-provider/interfaces.d.ts.map +1 -1
  163. package/lib/internal/template/icon-provider/interfaces.js.map +1 -1
  164. package/lib/internal/template/input/styles.css.js +18 -18
  165. package/lib/internal/template/input/styles.scoped.css +101 -101
  166. package/lib/internal/template/input/styles.selectors.js +18 -18
  167. package/lib/internal/template/internal/base-component/styles.scoped.css +156 -135
  168. package/lib/internal/template/internal/components/button-trigger/styles.css.js +14 -14
  169. package/lib/internal/template/internal/components/button-trigger/styles.scoped.css +64 -64
  170. package/lib/internal/template/internal/components/button-trigger/styles.selectors.js +14 -14
  171. package/lib/internal/template/internal/components/cartesian-chart/styles.css.js +28 -28
  172. package/lib/internal/template/internal/components/cartesian-chart/styles.scoped.css +34 -34
  173. package/lib/internal/template/internal/components/cartesian-chart/styles.selectors.js +28 -28
  174. package/lib/internal/template/internal/components/chart-legend/styles.css.js +6 -6
  175. package/lib/internal/template/internal/components/chart-legend/styles.scoped.css +18 -18
  176. package/lib/internal/template/internal/components/chart-legend/styles.selectors.js +6 -6
  177. package/lib/internal/template/internal/components/checkbox-icon/styles.css.js +9 -9
  178. package/lib/internal/template/internal/components/checkbox-icon/styles.scoped.css +10 -10
  179. package/lib/internal/template/internal/components/checkbox-icon/styles.selectors.js +9 -9
  180. package/lib/internal/template/internal/components/drag-handle/styles.css.js +14 -14
  181. package/lib/internal/template/internal/components/drag-handle/styles.scoped.css +23 -23
  182. package/lib/internal/template/internal/components/drag-handle/styles.selectors.js +14 -14
  183. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +30 -30
  184. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +58 -58
  185. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +30 -30
  186. package/lib/internal/template/internal/components/dropdown-footer/styles.css.js +3 -3
  187. package/lib/internal/template/internal/components/dropdown-footer/styles.scoped.css +5 -5
  188. package/lib/internal/template/internal/components/dropdown-footer/styles.selectors.js +3 -3
  189. package/lib/internal/template/internal/components/expand-toggle-button/styles.css.js +4 -4
  190. package/lib/internal/template/internal/components/expand-toggle-button/styles.scoped.css +17 -17
  191. package/lib/internal/template/internal/components/expand-toggle-button/styles.selectors.js +4 -4
  192. package/lib/internal/template/internal/components/menu-dropdown/styles.css.js +7 -7
  193. package/lib/internal/template/internal/components/menu-dropdown/styles.scoped.css +17 -17
  194. package/lib/internal/template/internal/components/menu-dropdown/styles.selectors.js +7 -7
  195. package/lib/internal/template/internal/components/option/styles.css.js +17 -17
  196. package/lib/internal/template/internal/components/option/styles.scoped.css +31 -31
  197. package/lib/internal/template/internal/components/option/styles.selectors.js +17 -17
  198. package/lib/internal/template/internal/components/options-list/index.d.ts +2 -0
  199. package/lib/internal/template/internal/components/options-list/index.d.ts.map +1 -1
  200. package/lib/internal/template/internal/components/options-list/index.js +2 -2
  201. package/lib/internal/template/internal/components/options-list/index.js.map +1 -1
  202. package/lib/internal/template/internal/components/options-list/styles.css.js +3 -3
  203. package/lib/internal/template/internal/components/options-list/styles.scoped.css +7 -7
  204. package/lib/internal/template/internal/components/options-list/styles.selectors.js +3 -3
  205. package/lib/internal/template/internal/components/panel-resize-handle/styles.css.js +3 -3
  206. package/lib/internal/template/internal/components/panel-resize-handle/styles.scoped.css +11 -11
  207. package/lib/internal/template/internal/components/panel-resize-handle/styles.selectors.js +3 -3
  208. package/lib/internal/template/internal/components/radio-button/styles.css.js +7 -7
  209. package/lib/internal/template/internal/components/radio-button/styles.scoped.css +18 -18
  210. package/lib/internal/template/internal/components/radio-button/styles.selectors.js +7 -7
  211. package/lib/internal/template/internal/components/selectable-item/styles.css.js +22 -22
  212. package/lib/internal/template/internal/components/selectable-item/styles.scoped.css +95 -95
  213. package/lib/internal/template/internal/components/selectable-item/styles.selectors.js +22 -22
  214. package/lib/internal/template/internal/components/sortable-area/styles.css.js +8 -8
  215. package/lib/internal/template/internal/components/sortable-area/styles.scoped.css +39 -39
  216. package/lib/internal/template/internal/components/sortable-area/styles.selectors.js +8 -8
  217. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  218. package/lib/internal/template/internal/components/token-list/styles.scoped.css +35 -35
  219. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  220. package/lib/internal/template/internal/environment.js +2 -2
  221. package/lib/internal/template/internal/environment.json +2 -2
  222. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +13 -0
  223. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  224. package/lib/internal/template/internal/generated/custom-css-properties/index.js +172 -159
  225. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  226. package/lib/internal/template/internal/generated/styles/tokens.d.ts +3 -0
  227. package/lib/internal/template/internal/generated/styles/tokens.js +3 -0
  228. package/lib/internal/template/internal/generated/theming/index.cjs +96 -0
  229. package/lib/internal/template/internal/generated/theming/index.cjs.d.ts +27 -0
  230. package/lib/internal/template/internal/generated/theming/index.d.ts +27 -0
  231. package/lib/internal/template/internal/generated/theming/index.js +96 -0
  232. package/lib/internal/template/item-card/styles.css.js +14 -14
  233. package/lib/internal/template/item-card/styles.scoped.css +65 -65
  234. package/lib/internal/template/item-card/styles.selectors.js +14 -14
  235. package/lib/internal/template/key-value-pairs/styles.css.js +8 -8
  236. package/lib/internal/template/key-value-pairs/styles.scoped.css +10 -10
  237. package/lib/internal/template/key-value-pairs/styles.selectors.js +8 -8
  238. package/lib/internal/template/link/styles.css.js +21 -21
  239. package/lib/internal/template/link/styles.scoped.css +118 -118
  240. package/lib/internal/template/link/styles.selectors.js +21 -21
  241. package/lib/internal/template/list/styles.css.js +5 -5
  242. package/lib/internal/template/list/styles.scoped.css +8 -8
  243. package/lib/internal/template/list/styles.selectors.js +5 -5
  244. package/lib/internal/template/mixed-line-bar-chart/styles.css.js +11 -11
  245. package/lib/internal/template/mixed-line-bar-chart/styles.scoped.css +21 -21
  246. package/lib/internal/template/mixed-line-bar-chart/styles.selectors.js +11 -11
  247. package/lib/internal/template/modal/styles.css.js +31 -31
  248. package/lib/internal/template/modal/styles.scoped.css +58 -58
  249. package/lib/internal/template/modal/styles.selectors.js +31 -31
  250. package/lib/internal/template/multiselect/use-multiselect.d.ts +1 -0
  251. package/lib/internal/template/multiselect/use-multiselect.d.ts.map +1 -1
  252. package/lib/internal/template/pagination/styles.css.js +11 -11
  253. package/lib/internal/template/pagination/styles.scoped.css +35 -35
  254. package/lib/internal/template/pagination/styles.selectors.js +11 -11
  255. package/lib/internal/template/panel-layout/styles.css.js +7 -7
  256. package/lib/internal/template/panel-layout/styles.scoped.css +18 -18
  257. package/lib/internal/template/panel-layout/styles.selectors.js +7 -7
  258. package/lib/internal/template/pie-chart/styles.css.js +27 -27
  259. package/lib/internal/template/pie-chart/styles.scoped.css +49 -49
  260. package/lib/internal/template/pie-chart/styles.selectors.js +27 -27
  261. package/lib/internal/template/popover/styles.css.js +58 -58
  262. package/lib/internal/template/popover/styles.scoped.css +110 -110
  263. package/lib/internal/template/popover/styles.selectors.js +58 -58
  264. package/lib/internal/template/progress-bar/styles.css.js +18 -18
  265. package/lib/internal/template/progress-bar/styles.scoped.css +48 -48
  266. package/lib/internal/template/progress-bar/styles.selectors.js +18 -18
  267. package/lib/internal/template/prompt-input/components/menu-dropdown.d.ts +3 -1
  268. package/lib/internal/template/prompt-input/components/menu-dropdown.d.ts.map +1 -1
  269. package/lib/internal/template/prompt-input/components/menu-dropdown.js +2 -1
  270. package/lib/internal/template/prompt-input/components/menu-dropdown.js.map +1 -1
  271. package/lib/internal/template/prompt-input/components/token-mode.d.ts +3 -1
  272. package/lib/internal/template/prompt-input/components/token-mode.d.ts.map +1 -1
  273. package/lib/internal/template/prompt-input/components/token-mode.js +14 -3
  274. package/lib/internal/template/prompt-input/components/token-mode.js.map +1 -1
  275. package/lib/internal/template/prompt-input/internal-interfaces.d.ts +41 -0
  276. package/lib/internal/template/prompt-input/internal-interfaces.d.ts.map +1 -0
  277. package/lib/internal/template/prompt-input/internal-interfaces.js +2 -0
  278. package/lib/internal/template/prompt-input/internal-interfaces.js.map +1 -0
  279. package/lib/internal/template/prompt-input/internal.d.ts.map +1 -1
  280. package/lib/internal/template/prompt-input/internal.js +1 -1
  281. package/lib/internal/template/prompt-input/internal.js.map +1 -1
  282. package/lib/internal/template/prompt-input/styles.css.js +26 -26
  283. package/lib/internal/template/prompt-input/styles.d.ts +11 -0
  284. package/lib/internal/template/prompt-input/styles.d.ts.map +1 -1
  285. package/lib/internal/template/prompt-input/styles.js +27 -2
  286. package/lib/internal/template/prompt-input/styles.js.map +1 -1
  287. package/lib/internal/template/prompt-input/styles.scoped.css +143 -143
  288. package/lib/internal/template/prompt-input/styles.selectors.js +26 -26
  289. package/lib/internal/template/property-filter/controller.d.ts.map +1 -1
  290. package/lib/internal/template/property-filter/controller.js +10 -6
  291. package/lib/internal/template/property-filter/controller.js.map +1 -1
  292. package/lib/internal/template/property-filter/filtering-token/styles.css.js +18 -18
  293. package/lib/internal/template/property-filter/filtering-token/styles.scoped.css +57 -57
  294. package/lib/internal/template/property-filter/filtering-token/styles.selectors.js +18 -18
  295. package/lib/internal/template/property-filter/i18n-utils.d.ts +2 -2
  296. package/lib/internal/template/property-filter/i18n-utils.d.ts.map +1 -1
  297. package/lib/internal/template/property-filter/i18n-utils.js +11 -4
  298. package/lib/internal/template/property-filter/i18n-utils.js.map +1 -1
  299. package/lib/internal/template/property-filter/interfaces.d.ts +8 -2
  300. package/lib/internal/template/property-filter/interfaces.d.ts.map +1 -1
  301. package/lib/internal/template/property-filter/interfaces.js.map +1 -1
  302. package/lib/internal/template/property-filter/internal-interfaces.d.ts +1 -0
  303. package/lib/internal/template/property-filter/internal-interfaces.d.ts.map +1 -1
  304. package/lib/internal/template/property-filter/internal-interfaces.js.map +1 -1
  305. package/lib/internal/template/property-filter/internal.d.ts.map +1 -1
  306. package/lib/internal/template/property-filter/internal.js +1 -0
  307. package/lib/internal/template/property-filter/internal.js.map +1 -1
  308. package/lib/internal/template/property-filter/styles.css.js +39 -39
  309. package/lib/internal/template/property-filter/styles.scoped.css +46 -46
  310. package/lib/internal/template/property-filter/styles.selectors.js +39 -39
  311. package/lib/internal/template/property-filter/token-editor-inputs.d.ts +2 -1
  312. package/lib/internal/template/property-filter/token-editor-inputs.d.ts.map +1 -1
  313. package/lib/internal/template/property-filter/token-editor-inputs.js +18 -8
  314. package/lib/internal/template/property-filter/token-editor-inputs.js.map +1 -1
  315. package/lib/internal/template/property-filter/token-editor.d.ts.map +1 -1
  316. package/lib/internal/template/property-filter/token-editor.js +1 -1
  317. package/lib/internal/template/property-filter/token-editor.js.map +1 -1
  318. package/lib/internal/template/property-filter/utils.d.ts.map +1 -1
  319. package/lib/internal/template/property-filter/utils.js +12 -3
  320. package/lib/internal/template/property-filter/utils.js.map +1 -1
  321. package/lib/internal/template/s3-resource-selector/s3-in-context/styles.css.js +7 -7
  322. package/lib/internal/template/s3-resource-selector/s3-in-context/styles.scoped.css +10 -10
  323. package/lib/internal/template/s3-resource-selector/s3-in-context/styles.selectors.js +7 -7
  324. package/lib/internal/template/segmented-control/styles.css.js +16 -16
  325. package/lib/internal/template/segmented-control/styles.scoped.css +61 -61
  326. package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
  327. package/lib/internal/template/select/parts/styles.css.js +21 -21
  328. package/lib/internal/template/select/parts/styles.scoped.css +24 -24
  329. package/lib/internal/template/select/parts/styles.selectors.js +21 -21
  330. package/lib/internal/template/side-navigation/styles.css.js +47 -47
  331. package/lib/internal/template/side-navigation/styles.scoped.css +94 -94
  332. package/lib/internal/template/side-navigation/styles.selectors.js +47 -47
  333. package/lib/internal/template/skeleton/styles.css.js +15 -15
  334. package/lib/internal/template/skeleton/styles.scoped.css +29 -29
  335. package/lib/internal/template/skeleton/styles.selectors.js +15 -15
  336. package/lib/internal/template/slider/styles.css.js +26 -26
  337. package/lib/internal/template/slider/styles.scoped.css +165 -165
  338. package/lib/internal/template/slider/styles.selectors.js +26 -26
  339. package/lib/internal/template/spinner/styles.css.js +13 -13
  340. package/lib/internal/template/spinner/styles.scoped.css +39 -39
  341. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  342. package/lib/internal/template/split-panel/styles.css.js +38 -38
  343. package/lib/internal/template/split-panel/styles.scoped.css +62 -62
  344. package/lib/internal/template/split-panel/styles.selectors.js +38 -38
  345. package/lib/internal/template/status-indicator/styles.css.js +24 -24
  346. package/lib/internal/template/status-indicator/styles.scoped.css +55 -55
  347. package/lib/internal/template/status-indicator/styles.selectors.js +24 -24
  348. package/lib/internal/template/steps/styles.css.js +12 -12
  349. package/lib/internal/template/steps/styles.scoped.css +22 -22
  350. package/lib/internal/template/steps/styles.selectors.js +12 -12
  351. package/lib/internal/template/table/body-cell/styles.css.js +48 -48
  352. package/lib/internal/template/table/body-cell/styles.scoped.css +825 -825
  353. package/lib/internal/template/table/body-cell/styles.selectors.js +48 -48
  354. package/lib/internal/template/table/header-cell/styles.css.js +33 -33
  355. package/lib/internal/template/table/header-cell/styles.scoped.css +108 -108
  356. package/lib/internal/template/table/header-cell/styles.selectors.js +33 -33
  357. package/lib/internal/template/table/resizer/styles.css.js +17 -17
  358. package/lib/internal/template/table/resizer/styles.scoped.css +34 -34
  359. package/lib/internal/template/table/resizer/styles.selectors.js +17 -17
  360. package/lib/internal/template/table/sticky-scrollbar/styles.css.js +6 -6
  361. package/lib/internal/template/table/sticky-scrollbar/styles.scoped.css +11 -11
  362. package/lib/internal/template/table/sticky-scrollbar/styles.selectors.js +6 -6
  363. package/lib/internal/template/table/styles.css.js +36 -36
  364. package/lib/internal/template/table/styles.scoped.css +55 -55
  365. package/lib/internal/template/table/styles.selectors.js +36 -36
  366. package/lib/internal/template/tabs/styles.css.js +30 -30
  367. package/lib/internal/template/tabs/styles.scoped.css +88 -88
  368. package/lib/internal/template/tabs/styles.selectors.js +30 -30
  369. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  370. package/lib/internal/template/tag-editor/styles.scoped.css +19 -19
  371. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  372. package/lib/internal/template/text-content/styles.css.js +1 -1
  373. package/lib/internal/template/text-content/styles.scoped.css +72 -72
  374. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  375. package/lib/internal/template/textarea/styles.css.js +5 -5
  376. package/lib/internal/template/textarea/styles.scoped.css +59 -59
  377. package/lib/internal/template/textarea/styles.selectors.js +5 -5
  378. package/lib/internal/template/tiles/styles.css.js +30 -30
  379. package/lib/internal/template/tiles/styles.scoped.css +88 -88
  380. package/lib/internal/template/tiles/styles.selectors.js +30 -30
  381. package/lib/internal/template/toggle/styles.css.js +10 -10
  382. package/lib/internal/template/toggle/styles.scoped.css +23 -23
  383. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  384. package/lib/internal/template/token/internal.d.ts.map +1 -1
  385. package/lib/internal/template/token/internal.js +4 -1
  386. package/lib/internal/template/token/internal.js.map +1 -1
  387. package/lib/internal/template/token/styles.css.js +14 -14
  388. package/lib/internal/template/token/styles.scoped.css +61 -61
  389. package/lib/internal/template/token/styles.selectors.js +14 -14
  390. package/lib/internal/template/top-navigation/styles.css.js +47 -47
  391. package/lib/internal/template/top-navigation/styles.scoped.css +80 -80
  392. package/lib/internal/template/top-navigation/styles.selectors.js +47 -47
  393. package/lib/internal/template/tree-view/tree-item/index.js +1 -1
  394. package/lib/internal/template/tree-view/tree-item/index.js.map +1 -1
  395. package/lib/internal/template/tree-view/tree-item/styles.css.js +10 -9
  396. package/lib/internal/template/tree-view/tree-item/styles.scoped.css +24 -18
  397. package/lib/internal/template/tree-view/tree-item/styles.selectors.js +10 -9
  398. package/lib/internal/template/tree-view/vertical-connector/styles.css.js +3 -3
  399. package/lib/internal/template/tree-view/vertical-connector/styles.scoped.css +6 -6
  400. package/lib/internal/template/tree-view/vertical-connector/styles.selectors.js +3 -3
  401. package/lib/internal/template/truncated-text/styles.css.js +1 -1
  402. package/lib/internal/template/truncated-text/styles.scoped.css +9 -9
  403. package/lib/internal/template/truncated-text/styles.selectors.js +1 -1
  404. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
  405. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +23 -23
  406. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
  407. package/lib/internal/template/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  408. package/lib/internal/template/tutorial-panel/components/tutorial-list/styles.scoped.css +41 -41
  409. package/lib/internal/template/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  410. package/lib/internal/template/tutorial-panel/styles.css.js +1 -1
  411. package/lib/internal/template/tutorial-panel/styles.scoped.css +9 -9
  412. package/lib/internal/template/tutorial-panel/styles.selectors.js +1 -1
  413. package/lib/internal/template/wizard/styles.css.js +30 -30
  414. package/lib/internal/template/wizard/styles.scoped.css +73 -73
  415. package/lib/internal/template/wizard/styles.selectors.js +30 -30
  416. package/package.json +1 -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 } from '../internal/events';\nimport { NonCancelableEventHandler } from '../types/events';\nimport { I18nStringsOperators, operatorToDescription } from './i18n-utils';\nimport { ComparisonOperator, GroupText, I18nStrings, JoinOperation, Query, Token, TokenGroup } from './interfaces';\nimport {\n InternalFilteringOption,\n InternalFilteringProperty,\n InternalFreeTextFiltering,\n InternalQuery,\n InternalToken,\n InternalTokenGroup,\n ParsedText,\n} from './internal-interfaces';\nimport {\n isInternalToken,\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 (isInternalToken(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\nconst operatorOrder = ['=', '!=', ':', '!:', '^', '!^', '>=', '<=', '<', '>'] as const;\n\nexport const getAllowedOperators = (property: InternalFilteringProperty): ComparisonOperator[] => {\n const { operators = [], defaultOperator } = property;\n const operatorSet = new Set([defaultOperator, ...operators]);\n return operatorOrder.filter(op => operatorSet.has(op));\n};\n\nexport const getAllowedFreeTextOperators = (freeText: InternalFreeTextFiltering): ComparisonOperator[] => {\n const operatorSet = new Set(freeText.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 let freeTextOperators = getAllowedFreeTextOperators(freeTextFiltering);\n freeTextOperators = freeTextOperators.indexOf('!:') >= 0 ? ['!', ...freeTextOperators] : freeTextOperators;\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 } from '../internal/events';\nimport { NonCancelableEventHandler } from '../types/events';\nimport { I18nStringsOperators, operatorToDescription } from './i18n-utils';\nimport { ComparisonOperator, GroupText, I18nStrings, JoinOperation, Query, Token, TokenGroup } from './interfaces';\nimport {\n InternalFilteringOption,\n InternalFilteringProperty,\n InternalFreeTextFiltering,\n InternalQuery,\n InternalToken,\n InternalTokenGroup,\n ParsedText,\n} from './internal-interfaces';\nimport {\n isInternalToken,\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 (isInternalToken(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\nconst knownOperatorOrder = ['=', '!=', ':', '!:', '^', '!^', '>=', '<=', '<', '>'] as const;\n\nfunction orderOperators(operatorSet: Set<ComparisonOperator>): ComparisonOperator[] {\n const knownOperators = knownOperatorOrder.filter(op => operatorSet.has(op));\n const customOperators = [...operatorSet].filter(op => !(knownOperatorOrder as readonly string[]).includes(op));\n return [...knownOperators, ...customOperators];\n}\n\nexport const getAllowedOperators = (property: InternalFilteringProperty): ComparisonOperator[] => {\n const { operators = [], defaultOperator } = property;\n return orderOperators(new Set([defaultOperator, ...operators]));\n};\n\nexport const getAllowedFreeTextOperators = (freeText: InternalFreeTextFiltering): ComparisonOperator[] => {\n const operators = freeText.operators.map(op => (typeof op === 'string' ? op : op.operator));\n return orderOperators(new Set(operators));\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 let freeTextOperators = getAllowedFreeTextOperators(freeTextFiltering);\n freeTextOperators = freeTextOperators.indexOf('!:') >= 0 ? ['!', ...freeTextOperators] : freeTextOperators;\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, parsedText.property),\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,23 +1,23 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_19bso_1as5o_153",
5
- "inner-root": "awsui_inner-root_19bso_1as5o_154",
6
- "has-groups": "awsui_has-groups_19bso_1as5o_187",
7
- "compact-mode": "awsui_compact-mode_19bso_1as5o_191",
8
- "token": "awsui_token_19bso_1as5o_200",
9
- "inner-token": "awsui_inner-token_19bso_1as5o_201",
10
- "grouped": "awsui_grouped_19bso_1as5o_214",
11
- "list": "awsui_list_19bso_1as5o_226",
12
- "show-operation": "awsui_show-operation_19bso_1as5o_237",
13
- "select": "awsui_select_19bso_1as5o_243",
14
- "inner-select": "awsui_inner-select_19bso_1as5o_244",
15
- "token-content": "awsui_token-content_19bso_1as5o_248",
16
- "token-content-grouped": "awsui_token-content-grouped_19bso_1as5o_254",
17
- "inner-token-content": "awsui_inner-token-content_19bso_1as5o_259",
18
- "edit-button": "awsui_edit-button_19bso_1as5o_264",
19
- "dismiss-button": "awsui_dismiss-button_19bso_1as5o_265",
20
- "inner-dismiss-button": "awsui_inner-dismiss-button_19bso_1as5o_266",
21
- "token-disabled": "awsui_token-disabled_19bso_1as5o_324"
4
+ "root": "awsui_root_19bso_3zdpf_153",
5
+ "inner-root": "awsui_inner-root_19bso_3zdpf_154",
6
+ "has-groups": "awsui_has-groups_19bso_3zdpf_187",
7
+ "compact-mode": "awsui_compact-mode_19bso_3zdpf_191",
8
+ "token": "awsui_token_19bso_3zdpf_200",
9
+ "inner-token": "awsui_inner-token_19bso_3zdpf_201",
10
+ "grouped": "awsui_grouped_19bso_3zdpf_214",
11
+ "list": "awsui_list_19bso_3zdpf_226",
12
+ "show-operation": "awsui_show-operation_19bso_3zdpf_237",
13
+ "select": "awsui_select_19bso_3zdpf_243",
14
+ "inner-select": "awsui_inner-select_19bso_3zdpf_244",
15
+ "token-content": "awsui_token-content_19bso_3zdpf_248",
16
+ "token-content-grouped": "awsui_token-content-grouped_19bso_3zdpf_254",
17
+ "inner-token-content": "awsui_inner-token-content_19bso_3zdpf_259",
18
+ "edit-button": "awsui_edit-button_19bso_3zdpf_264",
19
+ "dismiss-button": "awsui_dismiss-button_19bso_3zdpf_265",
20
+ "inner-dismiss-button": "awsui_inner-dismiss-button_19bso_3zdpf_266",
21
+ "token-disabled": "awsui_token-disabled_19bso_3zdpf_324"
22
22
  };
23
23
 
@@ -150,8 +150,8 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
150
150
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
151
151
  SPDX-License-Identifier: Apache-2.0
152
152
  */
153
- .awsui_root_19bso_1as5o_153:not(#\9),
154
- .awsui_inner-root_19bso_1as5o_154:not(#\9) {
153
+ .awsui_root_19bso_3zdpf_153:not(#\9),
154
+ .awsui_inner-root_19bso_3zdpf_154:not(#\9) {
155
155
  border-collapse: separate;
156
156
  border-spacing: 0;
157
157
  box-sizing: border-box;
@@ -184,46 +184,46 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
184
184
  display: flex;
185
185
  align-content: stretch;
186
186
  }
187
- .awsui_root_19bso_1as5o_153.awsui_has-groups_19bso_1as5o_187:not(#\9),
188
- .awsui_inner-root_19bso_1as5o_154.awsui_has-groups_19bso_1as5o_187:not(#\9) {
187
+ .awsui_root_19bso_3zdpf_153.awsui_has-groups_19bso_3zdpf_187:not(#\9),
188
+ .awsui_inner-root_19bso_3zdpf_154.awsui_has-groups_19bso_3zdpf_187:not(#\9) {
189
189
  min-block-size: calc(2px + var(--size-vertical-input-8gzd1t, 32px));
190
190
  }
191
- .awsui_root_19bso_1as5o_153.awsui_has-groups_19bso_1as5o_187.awsui_compact-mode_19bso_1as5o_191:not(#\9),
192
- .awsui_inner-root_19bso_1as5o_154.awsui_has-groups_19bso_1as5o_187.awsui_compact-mode_19bso_1as5o_191:not(#\9) {
193
- min-block-size: calc(2px + 2 * var(--border-width-token-cwl2sl, 1px) + var(--size-vertical-input-8gzd1t, 32px));
191
+ .awsui_root_19bso_3zdpf_153.awsui_has-groups_19bso_3zdpf_187.awsui_compact-mode_19bso_3zdpf_191:not(#\9),
192
+ .awsui_inner-root_19bso_3zdpf_154.awsui_has-groups_19bso_3zdpf_187.awsui_compact-mode_19bso_3zdpf_191:not(#\9) {
193
+ min-block-size: calc(2px + 2 * var(--border-width-token-p4a0gu, 1px) + var(--size-vertical-input-8gzd1t, 32px));
194
194
  }
195
195
 
196
- .awsui_inner-root_19bso_1as5o_154:not(#\9) {
196
+ .awsui_inner-root_19bso_3zdpf_154:not(#\9) {
197
197
  block-size: 100%;
198
198
  }
199
199
 
200
- .awsui_token_19bso_1as5o_200:not(#\9),
201
- .awsui_inner-token_19bso_1as5o_201:not(#\9) {
202
- border-block: var(--border-width-token-cwl2sl, 1px) solid var(--color-border-item-selected-vq6ddf, #0073bb);
203
- border-inline: var(--border-width-token-cwl2sl, 1px) solid var(--color-border-item-selected-vq6ddf, #0073bb);
200
+ .awsui_token_19bso_3zdpf_200:not(#\9),
201
+ .awsui_inner-token_19bso_3zdpf_201:not(#\9) {
202
+ border-block: var(--border-width-token-p4a0gu, 1px) solid var(--color-border-item-selected-vq6ddf, #0073bb);
203
+ border-inline: var(--border-width-token-p4a0gu, 1px) solid var(--color-border-item-selected-vq6ddf, #0073bb);
204
204
  display: flex;
205
205
  align-items: stretch;
206
206
  background: var(--color-background-item-selected-v20q4r, #f1faff);
207
- border-start-start-radius: var(--border-radius-token-8arsz0, 2px);
208
- border-start-end-radius: var(--border-radius-token-8arsz0, 2px);
209
- border-end-start-radius: var(--border-radius-token-8arsz0, 2px);
210
- border-end-end-radius: var(--border-radius-token-8arsz0, 2px);
207
+ border-start-start-radius: var(--border-radius-token-dnq13z, 2px);
208
+ border-start-end-radius: var(--border-radius-token-dnq13z, 2px);
209
+ border-end-start-radius: var(--border-radius-token-dnq13z, 2px);
210
+ border-end-end-radius: var(--border-radius-token-dnq13z, 2px);
211
211
  color: var(--color-text-body-default-5qid0u, #16191f);
212
212
  box-sizing: border-box;
213
213
  }
214
- .awsui_token_19bso_1as5o_200.awsui_grouped_19bso_1as5o_214:not(#\9),
215
- .awsui_inner-token_19bso_1as5o_201.awsui_grouped_19bso_1as5o_214:not(#\9) {
214
+ .awsui_token_19bso_3zdpf_200.awsui_grouped_19bso_3zdpf_214:not(#\9),
215
+ .awsui_inner-token_19bso_3zdpf_201.awsui_grouped_19bso_3zdpf_214:not(#\9) {
216
216
  justify-content: space-between;
217
217
  }
218
218
 
219
- .awsui_inner-token_19bso_1as5o_201:not(#\9) {
220
- border-start-start-radius: calc(var(--border-radius-token-8arsz0, 2px) / 2);
221
- border-start-end-radius: calc(var(--border-radius-token-8arsz0, 2px) / 2);
222
- border-end-start-radius: calc(var(--border-radius-token-8arsz0, 2px) / 2);
223
- border-end-end-radius: calc(var(--border-radius-token-8arsz0, 2px) / 2);
219
+ .awsui_inner-token_19bso_3zdpf_201:not(#\9) {
220
+ border-start-start-radius: calc(var(--border-radius-token-dnq13z, 2px) / 2);
221
+ border-start-end-radius: calc(var(--border-radius-token-dnq13z, 2px) / 2);
222
+ border-end-start-radius: calc(var(--border-radius-token-dnq13z, 2px) / 2);
223
+ border-end-end-radius: calc(var(--border-radius-token-dnq13z, 2px) / 2);
224
224
  }
225
225
 
226
- .awsui_list_19bso_1as5o_226:not(#\9) {
226
+ .awsui_list_19bso_3zdpf_226:not(#\9) {
227
227
  list-style: none;
228
228
  margin-block: 0;
229
229
  margin-inline: 0;
@@ -234,36 +234,36 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
234
234
  gap: var(--space-xs-kw7k3v, 8px);
235
235
  }
236
236
 
237
- .awsui_show-operation_19bso_1as5o_237:not(#\9) {
237
+ .awsui_show-operation_19bso_3zdpf_237:not(#\9) {
238
238
  border-inline-start: none;
239
239
  border-start-start-radius: 0;
240
240
  border-end-start-radius: 0;
241
241
  }
242
242
 
243
- .awsui_select_19bso_1as5o_243:not(#\9),
244
- .awsui_inner-select_19bso_1as5o_244:not(#\9) {
243
+ .awsui_select_19bso_3zdpf_243:not(#\9),
244
+ .awsui_inner-select_19bso_3zdpf_244:not(#\9) {
245
245
  /* used in test-utils */
246
246
  }
247
247
 
248
- .awsui_token-content_19bso_1as5o_248:not(#\9) {
248
+ .awsui_token-content_19bso_3zdpf_248:not(#\9) {
249
249
  display: flex;
250
250
  align-items: center;
251
251
  padding-block: var(--space-field-vertical-dgs6s0, 4px);
252
252
  padding-inline: var(--space-field-horizontal-n5peob, 8px);
253
253
  }
254
- .awsui_token-content-grouped_19bso_1as5o_254:not(#\9) {
254
+ .awsui_token-content-grouped_19bso_3zdpf_254:not(#\9) {
255
255
  padding-block: 2px;
256
256
  padding-inline: var(--space-field-horizontal-n5peob, 8px);
257
257
  }
258
258
 
259
- .awsui_inner-token-content_19bso_1as5o_259:not(#\9) {
259
+ .awsui_inner-token-content_19bso_3zdpf_259:not(#\9) {
260
260
  padding-block: 1px;
261
261
  padding-inline: var(--space-field-horizontal-n5peob, 8px);
262
262
  }
263
263
 
264
- .awsui_edit-button_19bso_1as5o_264:not(#\9),
265
- .awsui_dismiss-button_19bso_1as5o_265:not(#\9),
266
- .awsui_inner-dismiss-button_19bso_1as5o_266:not(#\9) {
264
+ .awsui_edit-button_19bso_3zdpf_264:not(#\9),
265
+ .awsui_dismiss-button_19bso_3zdpf_265:not(#\9),
266
+ .awsui_inner-dismiss-button_19bso_3zdpf_266:not(#\9) {
267
267
  inline-size: 30px;
268
268
  margin-block: 0;
269
269
  margin-inline: 0;
@@ -273,22 +273,22 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
273
273
  padding-inline: var(--space-xxs-jnczic, 4px);
274
274
  color: var(--color-text-interactive-default-qwoe3g, #545b64);
275
275
  background-color: transparent;
276
- border-inline-start: var(--border-width-button-40y1n5, 1px) solid var(--color-border-item-selected-vq6ddf, #0073bb);
276
+ border-inline-start: var(--border-width-button-lffd4t, 1px) solid var(--color-border-item-selected-vq6ddf, #0073bb);
277
277
  }
278
- body[data-awsui-focus-visible=true] .awsui_edit-button_19bso_1as5o_264:not(#\9):focus,
279
- body[data-awsui-focus-visible=true] .awsui_dismiss-button_19bso_1as5o_265:not(#\9):focus,
280
- body[data-awsui-focus-visible=true] .awsui_inner-dismiss-button_19bso_1as5o_266:not(#\9):focus {
278
+ body[data-awsui-focus-visible=true] .awsui_edit-button_19bso_3zdpf_264:not(#\9):focus,
279
+ body[data-awsui-focus-visible=true] .awsui_dismiss-button_19bso_3zdpf_265:not(#\9):focus,
280
+ body[data-awsui-focus-visible=true] .awsui_inner-dismiss-button_19bso_3zdpf_266:not(#\9):focus {
281
281
  position: relative;
282
282
  }
283
- body[data-awsui-focus-visible=true] .awsui_edit-button_19bso_1as5o_264:not(#\9):focus,
284
- body[data-awsui-focus-visible=true] .awsui_dismiss-button_19bso_1as5o_265:not(#\9):focus,
285
- body[data-awsui-focus-visible=true] .awsui_inner-dismiss-button_19bso_1as5o_266:not(#\9):focus {
283
+ body[data-awsui-focus-visible=true] .awsui_edit-button_19bso_3zdpf_264:not(#\9):focus,
284
+ body[data-awsui-focus-visible=true] .awsui_dismiss-button_19bso_3zdpf_265:not(#\9):focus,
285
+ body[data-awsui-focus-visible=true] .awsui_inner-dismiss-button_19bso_3zdpf_266:not(#\9):focus {
286
286
  outline: 2px dotted transparent;
287
287
  outline-offset: calc(var(--space-filtering-token-dismiss-button-focus-outline-gutter-739q2w, 0px) - 1px);
288
288
  }
289
- body[data-awsui-focus-visible=true] .awsui_edit-button_19bso_1as5o_264:not(#\9):focus::before,
290
- body[data-awsui-focus-visible=true] .awsui_dismiss-button_19bso_1as5o_265:not(#\9):focus::before,
291
- body[data-awsui-focus-visible=true] .awsui_inner-dismiss-button_19bso_1as5o_266:not(#\9):focus::before {
289
+ body[data-awsui-focus-visible=true] .awsui_edit-button_19bso_3zdpf_264:not(#\9):focus::before,
290
+ body[data-awsui-focus-visible=true] .awsui_dismiss-button_19bso_3zdpf_265:not(#\9):focus::before,
291
+ body[data-awsui-focus-visible=true] .awsui_inner-dismiss-button_19bso_3zdpf_266:not(#\9):focus::before {
292
292
  content: " ";
293
293
  display: block;
294
294
  position: absolute;
@@ -296,32 +296,32 @@ body[data-awsui-focus-visible=true] .awsui_inner-dismiss-button_19bso_1as5o_266:
296
296
  inset-block-start: calc(-1 * var(--space-filtering-token-dismiss-button-focus-outline-gutter-739q2w, 0px));
297
297
  inline-size: calc(100% + var(--space-filtering-token-dismiss-button-focus-outline-gutter-739q2w, 0px) + var(--space-filtering-token-dismiss-button-focus-outline-gutter-739q2w, 0px));
298
298
  block-size: calc(100% + var(--space-filtering-token-dismiss-button-focus-outline-gutter-739q2w, 0px) + var(--space-filtering-token-dismiss-button-focus-outline-gutter-739q2w, 0px));
299
- border-start-start-radius: var(--border-radius-control-default-focus-ring-9xsko1, 2px);
300
- border-start-end-radius: var(--border-radius-control-default-focus-ring-9xsko1, 2px);
301
- border-end-start-radius: var(--border-radius-control-default-focus-ring-9xsko1, 2px);
302
- border-end-end-radius: var(--border-radius-control-default-focus-ring-9xsko1, 2px);
299
+ border-start-start-radius: var(--border-radius-control-default-focus-ring-akwhsf, 2px);
300
+ border-start-end-radius: var(--border-radius-control-default-focus-ring-akwhsf, 2px);
301
+ border-end-start-radius: var(--border-radius-control-default-focus-ring-akwhsf, 2px);
302
+ border-end-end-radius: var(--border-radius-control-default-focus-ring-akwhsf, 2px);
303
303
  box-shadow: 0 0 0 2px var(--color-border-item-focused-r5f6xl, #0073bb);
304
304
  }
305
- .awsui_edit-button_19bso_1as5o_264:not(#\9):focus,
306
- .awsui_dismiss-button_19bso_1as5o_265:not(#\9):focus,
307
- .awsui_inner-dismiss-button_19bso_1as5o_266:not(#\9):focus {
305
+ .awsui_edit-button_19bso_3zdpf_264:not(#\9):focus,
306
+ .awsui_dismiss-button_19bso_3zdpf_265:not(#\9):focus,
307
+ .awsui_inner-dismiss-button_19bso_3zdpf_266:not(#\9):focus {
308
308
  outline: none;
309
309
  text-decoration: none;
310
310
  }
311
- .awsui_edit-button_19bso_1as5o_264:not(#\9):hover,
312
- .awsui_dismiss-button_19bso_1as5o_265:not(#\9):hover,
313
- .awsui_inner-dismiss-button_19bso_1as5o_266:not(#\9):hover {
311
+ .awsui_edit-button_19bso_3zdpf_264:not(#\9):hover,
312
+ .awsui_dismiss-button_19bso_3zdpf_265:not(#\9):hover,
313
+ .awsui_inner-dismiss-button_19bso_3zdpf_266:not(#\9):hover {
314
314
  cursor: pointer;
315
315
  color: var(--color-text-interactive-hover-bu4gls, #16191f);
316
316
  }
317
- .awsui_edit-button_19bso_1as5o_264:not(#\9):disabled,
318
- .awsui_dismiss-button_19bso_1as5o_265:not(#\9):disabled,
319
- .awsui_inner-dismiss-button_19bso_1as5o_266:not(#\9):disabled {
317
+ .awsui_edit-button_19bso_3zdpf_264:not(#\9):disabled,
318
+ .awsui_dismiss-button_19bso_3zdpf_265:not(#\9):disabled,
319
+ .awsui_inner-dismiss-button_19bso_3zdpf_266:not(#\9):disabled {
320
320
  color: var(--color-text-interactive-disabled-xwt2jl, #aab7b8);
321
321
  border-color: var(--color-border-control-disabled-c9dn39, #d5dbdb);
322
322
  }
323
323
 
324
- .awsui_token-disabled_19bso_1as5o_324:not(#\9) {
324
+ .awsui_token-disabled_19bso_3zdpf_324:not(#\9) {
325
325
  border-color: var(--color-border-control-disabled-c9dn39, #d5dbdb);
326
326
  background-color: var(--color-background-container-content-aemn43, #ffffff);
327
327
  color: var(--color-text-disabled-bhrk1i, #aab7b8);
@@ -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_1as5o_153",
6
- "inner-root": "awsui_inner-root_19bso_1as5o_154",
7
- "has-groups": "awsui_has-groups_19bso_1as5o_187",
8
- "compact-mode": "awsui_compact-mode_19bso_1as5o_191",
9
- "token": "awsui_token_19bso_1as5o_200",
10
- "inner-token": "awsui_inner-token_19bso_1as5o_201",
11
- "grouped": "awsui_grouped_19bso_1as5o_214",
12
- "list": "awsui_list_19bso_1as5o_226",
13
- "show-operation": "awsui_show-operation_19bso_1as5o_237",
14
- "select": "awsui_select_19bso_1as5o_243",
15
- "inner-select": "awsui_inner-select_19bso_1as5o_244",
16
- "token-content": "awsui_token-content_19bso_1as5o_248",
17
- "token-content-grouped": "awsui_token-content-grouped_19bso_1as5o_254",
18
- "inner-token-content": "awsui_inner-token-content_19bso_1as5o_259",
19
- "edit-button": "awsui_edit-button_19bso_1as5o_264",
20
- "dismiss-button": "awsui_dismiss-button_19bso_1as5o_265",
21
- "inner-dismiss-button": "awsui_inner-dismiss-button_19bso_1as5o_266",
22
- "token-disabled": "awsui_token-disabled_19bso_1as5o_324"
5
+ "root": "awsui_root_19bso_3zdpf_153",
6
+ "inner-root": "awsui_inner-root_19bso_3zdpf_154",
7
+ "has-groups": "awsui_has-groups_19bso_3zdpf_187",
8
+ "compact-mode": "awsui_compact-mode_19bso_3zdpf_191",
9
+ "token": "awsui_token_19bso_3zdpf_200",
10
+ "inner-token": "awsui_inner-token_19bso_3zdpf_201",
11
+ "grouped": "awsui_grouped_19bso_3zdpf_214",
12
+ "list": "awsui_list_19bso_3zdpf_226",
13
+ "show-operation": "awsui_show-operation_19bso_3zdpf_237",
14
+ "select": "awsui_select_19bso_3zdpf_243",
15
+ "inner-select": "awsui_inner-select_19bso_3zdpf_244",
16
+ "token-content": "awsui_token-content_19bso_3zdpf_248",
17
+ "token-content-grouped": "awsui_token-content-grouped_19bso_3zdpf_254",
18
+ "inner-token-content": "awsui_inner-token-content_19bso_3zdpf_259",
19
+ "edit-button": "awsui_edit-button_19bso_3zdpf_264",
20
+ "dismiss-button": "awsui_dismiss-button_19bso_3zdpf_265",
21
+ "inner-dismiss-button": "awsui_inner-dismiss-button_19bso_3zdpf_266",
22
+ "token-disabled": "awsui_token-disabled_19bso_3zdpf_324"
23
23
  };
24
24
 
@@ -1,5 +1,5 @@
1
1
  import { ComparisonOperator, I18nStrings } from './interfaces';
2
- import { InternalToken, InternalTokenGroup } from './internal-interfaces';
2
+ import { InternalFilteringProperty, InternalToken, InternalTokenGroup } from './internal-interfaces';
3
3
  export type I18nStringsOperators = Pick<I18nStrings, 'operatorLessText' | 'operatorLessOrEqualText' | 'operatorGreaterText' | 'operatorGreaterOrEqualText' | 'operatorContainsText' | 'operatorDoesNotContainText' | 'operatorEqualsText' | 'operatorDoesNotEqualText' | 'operatorStartsWithText' | 'operatorDoesNotStartWithText'>;
4
4
  export type I18nStringsInternal = Omit<I18nStrings, 'formatToken' | 'removeTokenButtonAriaLabel' | 'groupEditAriaLabel' | 'tokenEditorTokenActionsAriaLabel' | 'tokenEditorTokenRemoveAriaLabel' | 'tokenEditorAddExistingTokenAriaLabel' | 'tokenEditorAddExistingTokenLabel'> & {
5
5
  formatToken: (token: InternalToken) => {
@@ -17,5 +17,5 @@ export type I18nStringsInternal = Omit<I18nStrings, 'formatToken' | 'removeToken
17
17
  tokenEditorAddExistingTokenLabel: (token: InternalToken) => string;
18
18
  };
19
19
  export declare function usePropertyFilterI18n(def?: I18nStrings): I18nStringsInternal;
20
- export declare function operatorToDescription(operator: ComparisonOperator, i18nStrings: I18nStringsOperators): string | undefined;
20
+ export declare function operatorToDescription(operator: ComparisonOperator, i18nStrings: I18nStringsOperators, property?: InternalFilteringProperty): string | undefined;
21
21
  //# sourceMappingURL=i18n-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-utils.d.ts","sourceRoot":"","sources":["../../../src/property-filter/i18n-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAkB,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG1E,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,WAAW,EACT,kBAAkB,GAClB,yBAAyB,GACzB,qBAAqB,GACrB,4BAA4B,GAC5B,sBAAsB,GACtB,4BAA4B,GAC5B,oBAAoB,GACpB,0BAA0B,GAC1B,wBAAwB,GACxB,8BAA8B,CACjC,CAAC;AAGF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,WAAW,EACT,aAAa,GACb,4BAA4B,GAC5B,oBAAoB,GACpB,kCAAkC,GAClC,iCAAiC,GACjC,sCAAsC,GACtC,kCAAkC,CACrC,GAAG;IACF,WAAW,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK;QACrC,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,cAAc,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,MAAM,CAAC;IACtD,kBAAkB,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC1D,0BAA0B,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IAC7D,gCAAgC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IACnE,+BAA+B,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IAClE,oCAAoC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IACvE,gCAAgC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;CACpE,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,WAAgB,GAAG,mBAAmB,CA4IhF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,sBA4BpG"}
1
+ {"version":3,"file":"i18n-utils.d.ts","sourceRoot":"","sources":["../../../src/property-filter/i18n-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAkB,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGrG,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,WAAW,EACT,kBAAkB,GAClB,yBAAyB,GACzB,qBAAqB,GACrB,4BAA4B,GAC5B,sBAAsB,GACtB,4BAA4B,GAC5B,oBAAoB,GACpB,0BAA0B,GAC1B,wBAAwB,GACxB,8BAA8B,CACjC,CAAC;AAGF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,WAAW,EACT,aAAa,GACb,4BAA4B,GAC5B,oBAAoB,GACpB,kCAAkC,GAClC,iCAAiC,GACjC,sCAAsC,GACtC,kCAAkC,CACrC,GAAG;IACF,WAAW,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK;QACrC,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,cAAc,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,MAAM,CAAC;IACtD,kBAAkB,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC1D,0BAA0B,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IAC7D,gCAAgC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IACnE,+BAA+B,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IAClE,oCAAoC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IACvE,gCAAgC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;CACpE,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,WAAgB,GAAG,mBAAmB,CAgJhF;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,WAAW,EAAE,oBAAoB,EACjC,QAAQ,CAAC,EAAE,yBAAyB,sBAgCrC"}
@@ -55,8 +55,13 @@ export function usePropertyFilterI18n(def = {}) {
55
55
  tokenEditorAddNewTokenLabel: i18n('i18nStrings.tokenEditorAddNewTokenLabel', def === null || def === void 0 ? void 0 : def.tokenEditorAddNewTokenLabel),
56
56
  tokenEditorAddTokenActionsAriaLabel: i18n('i18nStrings.tokenEditorAddTokenActionsAriaLabel', def === null || def === void 0 ? void 0 : def.tokenEditorAddTokenActionsAriaLabel),
57
57
  formatToken: token => {
58
+ var _a;
58
59
  const formattedToken = toFormatted(token);
59
- return { ...formattedToken, formattedText: formatToken(toFormatted(token)) };
60
+ const customDescription = (_a = token.property) === null || _a === void 0 ? void 0 : _a.getOperatorDescription(token.operator);
61
+ const formattedForAria = customDescription
62
+ ? { ...formattedToken, operator: customDescription.toLowerCase() }
63
+ : formattedToken;
64
+ return { ...formattedToken, formattedText: formatToken(formattedForAria) };
60
65
  },
61
66
  groupAriaLabel: group => {
62
67
  var _a;
@@ -111,7 +116,11 @@ export function usePropertyFilterI18n(def = {}) {
111
116
  },
112
117
  };
113
118
  }
114
- export function operatorToDescription(operator, i18nStrings) {
119
+ export function operatorToDescription(operator, i18nStrings, property) {
120
+ const customDescription = property === null || property === void 0 ? void 0 : property.getOperatorDescription(operator);
121
+ if (customDescription) {
122
+ return customDescription;
123
+ }
115
124
  switch (operator) {
116
125
  case '<':
117
126
  return i18nStrings.operatorLessText;
@@ -133,8 +142,6 @@ export function operatorToDescription(operator, i18nStrings) {
133
142
  return i18nStrings.operatorStartsWithText;
134
143
  case '!^':
135
144
  return i18nStrings.operatorDoesNotStartWithText;
136
- // The line is ignored from coverage because it is not reachable.
137
- // The purpose of it is to prevent TS errors if ComparisonOperator type gets extended.
138
145
  /* istanbul ignore next */
139
146
  default:
140
147
  return '';
@@ -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 } from './interfaces';\nimport { InternalToken, InternalTokenGroup } from './internal-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 } from './interfaces';\nimport { InternalFilteringProperty, InternalToken, InternalTokenGroup } from './internal-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 const customDescription = token.property?.getOperatorDescription(token.operator);\n const formattedForAria = customDescription\n ? { ...formattedToken, operator: customDescription.toLowerCase() }\n : formattedToken;\n return { ...formattedToken, formattedText: formatToken(formattedForAria) };\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(\n operator: ComparisonOperator,\n i18nStrings: I18nStringsOperators,\n property?: InternalFilteringProperty\n) {\n const customDescription = property?.getOperatorDescription(operator);\n if (customDescription) {\n return customDescription;\n }\n\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 /* 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"]}
@@ -73,7 +73,13 @@ export interface PropertyFilterProps extends BaseComponentProps, ExpandToViewpor
73
73
  * * groupValuesLabel [string]: Localized string to display for the 'Values' group label for a specific property.
74
74
  * * key [string]: The identifier of this property.
75
75
  * * propertyLabel [string]: A human-readable string for the property.
76
- * * operators [Array]: A list of all operators supported by this property. If you omit the equals operator because your API does not support it, make sure to set `defaultOperator` to a supported operator from this list.
76
+ * * operators [Array]: A list of all operators supported by this property. Built-in operators are always shown first in their standard order; custom operators are appended after them. If you omit the equals operator because your API does not support it, make sure to set `defaultOperator` to a supported operator from this list. Each entry is either an operator string (for example, `=`, `!=`, `:`, `>`), or an object that customizes the operator with the following properties:
77
+ * * `operator` [string]: The operator string. In addition to the built-in operators, you can define a custom operator string, for example `~` or `in`.
78
+ * * `match` ['date' | 'datetime' | function]: Overrides how items are matched for this operator. Use `'date'` or `'datetime'` for the built-in date matchers, or a function `(itemValue, tokenValue) => boolean` for custom matching. When you use a custom operator string, provide a `match` function; otherwise there is no matcher for it and items are not filtered by that operator.
79
+ * * `description` [string]: A human-readable description shown next to the operator in the operator dropdown. Use it to describe a custom operator, or to override the built-in description of a predefined operator (for example, describing `>` as "After" for a date property).
80
+ * * `tokenType` ['value' | 'enum']: The type of value input rendered for this operator.
81
+ * * `format` [function]: A function `(value) => string` used to format the token value for display.
82
+ * * `form` [ReactNode]: A custom form used to enter the token value.
77
83
  * * group [string]: Optional identifier of a custom group that this filtering option is assigned to. Use to create additional groups below the default one. Make sure to also define labels for the group in the customGroupsText property. Notice that only one level of options nesting is supported.
78
84
  * * defaultOperator [ComparisonOperator]: Optional parameter that changes the default operator used with this filtering property. Use it only if your API does not support "equals" filtering terms with this property.
79
85
  */
@@ -118,7 +124,7 @@ export interface PropertyFilterProps extends BaseComponentProps, ExpandToViewpor
118
124
  /**
119
125
  * An object configuring the operators for free text filtering, which has the following properties:
120
126
  *
121
- * * operators [Array]: A list of all operators supported for free text filtering. If you omit the contains operator because your API does not support it, make sure to set `defaultOperator` to a supported operator from this list.
127
+ * * operators [Array]: A list of all operators supported for free text filtering. Each entry is either an operator string, or an object with an `operator` string and an optional `match` function `(item, text) => boolean` for custom matching. Custom operator strings are supported and are appended after the built-in operators. If you omit the contains operator because your API does not support it, make sure to set `defaultOperator` to a supported operator from this list.
122
128
  * * defaultOperator [ComparisonOperator]: An optional parameter that changes the default operator used for free text filtering. Use this parameter only if your API does not support "contains" free test filtering terms.
123
129
  */
124
130
  freeTextFiltering?: PropertyFilterProps.FreeTextFiltering;