@slotted/angular 0.1.0-beta.1 → 0.1.0-beta.11

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 (598) hide show
  1. package/README.md +4 -0
  2. package/docs/AGENTS.snippet.md +12 -0
  3. package/docs/action-bar.json +4 -4
  4. package/docs/action-bar.md +3 -3
  5. package/docs/alert.json +7 -1
  6. package/docs/alert.md +3 -3
  7. package/docs/app-shell.examples.md +1 -1
  8. package/docs/app-shell.json +5 -5
  9. package/docs/app-shell.md +2 -2
  10. package/docs/avatar.json +22 -1
  11. package/docs/avatar.md +5 -3
  12. package/docs/badge.json +7 -1
  13. package/docs/badge.md +3 -3
  14. package/docs/button-group.json +2 -0
  15. package/docs/button-group.md +1 -1
  16. package/docs/button.json +51 -11
  17. package/docs/button.md +10 -6
  18. package/docs/calendar.json +8 -1
  19. package/docs/calendar.md +3 -2
  20. package/docs/cascader.json +1 -0
  21. package/docs/cascader.md +1 -1
  22. package/docs/chart.examples.md +1 -1
  23. package/docs/chart.json +10 -1
  24. package/docs/chart.md +3 -2
  25. package/docs/checkbox.json +7 -0
  26. package/docs/checkbox.md +1 -0
  27. package/docs/code-block.json +92 -92
  28. package/docs/code-block.md +69 -69
  29. package/docs/combobox.json +1 -0
  30. package/docs/combobox.md +1 -1
  31. package/docs/command-palette.json +1 -0
  32. package/docs/command-palette.md +1 -1
  33. package/docs/currency-field.json +40 -1
  34. package/docs/currency-field.md +5 -1
  35. package/docs/data-grid.examples.md +2 -2
  36. package/docs/data-grid.json +45 -7
  37. package/docs/data-grid.md +3 -1
  38. package/docs/data-grid.props.md +7 -4
  39. package/docs/data-list.json +2 -1
  40. package/docs/data-list.md +1 -1
  41. package/docs/date-field.json +9 -1
  42. package/docs/date-field.md +3 -2
  43. package/docs/date-picker.examples.md +36 -0
  44. package/docs/date-picker.json +20 -5
  45. package/docs/date-picker.md +5 -4
  46. package/docs/datetime-field.json +1 -0
  47. package/docs/datetime-field.md +1 -1
  48. package/docs/detail-panel.json +4 -2
  49. package/docs/detail-panel.md +8 -3
  50. package/docs/dialog.examples.md +158 -136
  51. package/docs/dialog.json +36 -11
  52. package/docs/dialog.md +4 -2
  53. package/docs/dialog.props.md +1 -1
  54. package/docs/drawer.json +11 -4
  55. package/docs/drawer.md +4 -3
  56. package/docs/entity-picker.json +19 -4
  57. package/docs/entity-picker.md +8 -6
  58. package/docs/event-calendar.json +7 -0
  59. package/docs/event-calendar.md +3 -2
  60. package/docs/filter-bar.json +118 -118
  61. package/docs/filter-bar.md +79 -79
  62. package/docs/form.json +2 -1
  63. package/docs/form.md +1 -1
  64. package/docs/guidelines/README.md +27 -0
  65. package/docs/guidelines/async-feedback.md +129 -0
  66. package/docs/guidelines/browsing.md +74 -0
  67. package/docs/guidelines/builders.md +97 -0
  68. package/docs/guidelines/composition.md +143 -0
  69. package/docs/guidelines/conversations.md +59 -0
  70. package/docs/guidelines/errors-and-conflicts.md +71 -0
  71. package/docs/guidelines/forms.md +202 -0
  72. package/docs/guidelines/index.md +130 -0
  73. package/docs/guidelines/layout-alignment.md +105 -0
  74. package/docs/guidelines/ledgers.md +45 -0
  75. package/docs/guidelines/list-pages.md +206 -0
  76. package/docs/guidelines/overviews.md +76 -0
  77. package/docs/guidelines/own-elements.md +115 -0
  78. package/docs/guidelines/reading-permissions.md +55 -0
  79. package/docs/guidelines/record-pages.md +178 -0
  80. package/docs/guidelines/reports.md +123 -0
  81. package/docs/guidelines/shell-composition.md +94 -0
  82. package/docs/guidelines/workspaces.md +46 -0
  83. package/docs/icon.json +3 -1
  84. package/docs/icon.md +3 -3
  85. package/docs/index.md +12 -0
  86. package/docs/inline-message.json +14 -2
  87. package/docs/inline-message.md +4 -3
  88. package/docs/list-item.json +9 -1
  89. package/docs/list-item.md +3 -3
  90. package/docs/list.json +19 -1
  91. package/docs/list.md +3 -1
  92. package/docs/markdown.json +79 -79
  93. package/docs/markdown.md +65 -65
  94. package/docs/menu.json +12 -0
  95. package/docs/menu.md +2 -0
  96. package/docs/message.json +7 -1
  97. package/docs/message.md +3 -3
  98. package/docs/multi-select.json +1 -0
  99. package/docs/multi-select.md +1 -1
  100. package/docs/notification-center.json +4 -0
  101. package/docs/notification-center.md +2 -2
  102. package/docs/number-field.json +1 -0
  103. package/docs/number-field.md +1 -1
  104. package/docs/otp-input.json +1 -0
  105. package/docs/otp-input.md +1 -1
  106. package/docs/page-header.json +22 -5
  107. package/docs/page-header.md +6 -4
  108. package/docs/page.json +2 -0
  109. package/docs/page.md +2 -1
  110. package/docs/popover.json +1 -1
  111. package/docs/progress-indicator.json +4 -3
  112. package/docs/progress-indicator.md +4 -4
  113. package/docs/prompt-composer.json +41 -1
  114. package/docs/prompt-composer.md +5 -1
  115. package/docs/rating.json +5 -3
  116. package/docs/rating.md +6 -6
  117. package/docs/section.json +28 -16
  118. package/docs/section.md +12 -10
  119. package/docs/segmented-control.json +36 -12
  120. package/docs/segmented-control.md +17 -1
  121. package/docs/select.json +1 -0
  122. package/docs/select.md +1 -1
  123. package/docs/side-navigation.json +1 -0
  124. package/docs/side-navigation.md +1 -1
  125. package/docs/skills/build-own-element/SKILL.md +90 -0
  126. package/docs/skills/compose-screen/SKILL.md +103 -0
  127. package/docs/skills/index.md +9 -0
  128. package/docs/skills/review-screen/SKILL.md +79 -0
  129. package/docs/skills/theme-app/SKILL.md +98 -0
  130. package/docs/skills/waiting-states/SKILL.md +143 -0
  131. package/docs/sparkline.json +5 -2
  132. package/docs/sparkline.md +4 -4
  133. package/docs/split-button.json +4 -1
  134. package/docs/split-button.md +3 -3
  135. package/docs/stat-card.json +5 -1
  136. package/docs/stat-card.md +3 -3
  137. package/docs/table.examples.md +3 -3
  138. package/docs/table.json +85 -3
  139. package/docs/table.md +12 -1
  140. package/docs/tabs.json +17 -7
  141. package/docs/tabs.md +3 -2
  142. package/docs/tag.json +14 -4
  143. package/docs/tag.md +6 -6
  144. package/docs/tags-input.json +29 -2
  145. package/docs/tags-input.md +4 -1
  146. package/docs/text-field.json +2 -1
  147. package/docs/text-field.md +2 -2
  148. package/docs/textarea.json +1 -0
  149. package/docs/textarea.md +1 -1
  150. package/docs/time-field.json +1 -0
  151. package/docs/time-field.md +1 -1
  152. package/docs/timeline.json +138 -132
  153. package/docs/timeline.md +125 -125
  154. package/docs/toast.json +8 -1
  155. package/docs/toast.md +3 -3
  156. package/docs/toggle-group.json +14 -3
  157. package/docs/toggle-group.md +3 -3
  158. package/docs/toggle.json +12 -3
  159. package/docs/toggle.md +3 -3
  160. package/docs/tokens.md +467 -0
  161. package/docs/toolbar.json +1 -1
  162. package/docs/toolbar.md +1 -1
  163. package/docs/tour.json +1 -1
  164. package/docs/typography.json +4 -2
  165. package/docs/typography.md +5 -5
  166. package/fesm2022/slotted-angular-accordion.mjs +4 -2
  167. package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
  168. package/fesm2022/slotted-angular-action-bar.mjs +27 -12
  169. package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
  170. package/fesm2022/slotted-angular-action-sheet.mjs +48 -29
  171. package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -1
  172. package/fesm2022/slotted-angular-alert.mjs +18 -11
  173. package/fesm2022/slotted-angular-alert.mjs.map +1 -1
  174. package/fesm2022/slotted-angular-app-shell.mjs +111 -61
  175. package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
  176. package/fesm2022/slotted-angular-aspect-ratio.mjs +4 -2
  177. package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -1
  178. package/fesm2022/slotted-angular-attachment.mjs +31 -20
  179. package/fesm2022/slotted-angular-attachment.mjs.map +1 -1
  180. package/fesm2022/slotted-angular-avatar-group.mjs +9 -6
  181. package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -1
  182. package/fesm2022/slotted-angular-avatar.mjs +14 -7
  183. package/fesm2022/slotted-angular-avatar.mjs.map +1 -1
  184. package/fesm2022/slotted-angular-badge.mjs +14 -10
  185. package/fesm2022/slotted-angular-badge.mjs.map +1 -1
  186. package/fesm2022/slotted-angular-breadcrumb.mjs +26 -18
  187. package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -1
  188. package/fesm2022/slotted-angular-button-group.mjs +7 -4
  189. package/fesm2022/slotted-angular-button-group.mjs.map +1 -1
  190. package/fesm2022/slotted-angular-button.mjs +120 -29
  191. package/fesm2022/slotted-angular-button.mjs.map +1 -1
  192. package/fesm2022/slotted-angular-calendar.mjs +235 -58
  193. package/fesm2022/slotted-angular-calendar.mjs.map +1 -1
  194. package/fesm2022/slotted-angular-card.mjs +18 -16
  195. package/fesm2022/slotted-angular-card.mjs.map +1 -1
  196. package/fesm2022/slotted-angular-carousel.mjs +22 -11
  197. package/fesm2022/slotted-angular-carousel.mjs.map +1 -1
  198. package/fesm2022/slotted-angular-cascader.mjs +180 -66
  199. package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
  200. package/fesm2022/slotted-angular-chart.mjs +53 -20
  201. package/fesm2022/slotted-angular-chart.mjs.map +1 -1
  202. package/fesm2022/slotted-angular-checkbox-group.mjs +5 -3
  203. package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -1
  204. package/fesm2022/slotted-angular-checkbox.mjs +23 -9
  205. package/fesm2022/slotted-angular-checkbox.mjs.map +1 -1
  206. package/fesm2022/slotted-angular-code-block.mjs +29 -15
  207. package/fesm2022/slotted-angular-code-block.mjs.map +1 -1
  208. package/fesm2022/slotted-angular-collapsible.mjs +20 -15
  209. package/fesm2022/slotted-angular-collapsible.mjs.map +1 -1
  210. package/fesm2022/slotted-angular-color-picker.mjs +77 -22
  211. package/fesm2022/slotted-angular-color-picker.mjs.map +1 -1
  212. package/fesm2022/slotted-angular-column-manager.mjs +68 -31
  213. package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
  214. package/fesm2022/slotted-angular-combobox.mjs +118 -39
  215. package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
  216. package/fesm2022/slotted-angular-command-palette.mjs +162 -54
  217. package/fesm2022/slotted-angular-command-palette.mjs.map +1 -1
  218. package/fesm2022/slotted-angular-container.mjs +6 -4
  219. package/fesm2022/slotted-angular-container.mjs.map +1 -1
  220. package/fesm2022/slotted-angular-context-menu.mjs +5 -4
  221. package/fesm2022/slotted-angular-context-menu.mjs.map +1 -1
  222. package/fesm2022/slotted-angular-currency-field.mjs +149 -32
  223. package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
  224. package/fesm2022/slotted-angular-dashboard-grid.mjs +142 -63
  225. package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
  226. package/fesm2022/slotted-angular-data-grid.mjs +480 -129
  227. package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
  228. package/fesm2022/slotted-angular-data-list.mjs +83 -50
  229. package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
  230. package/fesm2022/slotted-angular-date-field.mjs +74 -25
  231. package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
  232. package/fesm2022/slotted-angular-date-picker.mjs +112 -40
  233. package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
  234. package/fesm2022/slotted-angular-date-range-picker.mjs +45 -22
  235. package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -1
  236. package/fesm2022/slotted-angular-datetime-field.mjs +48 -16
  237. package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -1
  238. package/fesm2022/slotted-angular-datetime-picker.mjs +41 -29
  239. package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
  240. package/fesm2022/slotted-angular-datetime-range-picker.mjs +115 -48
  241. package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -1
  242. package/fesm2022/slotted-angular-description-list.mjs +33 -19
  243. package/fesm2022/slotted-angular-description-list.mjs.map +1 -1
  244. package/fesm2022/slotted-angular-detail-panel.mjs +48 -30
  245. package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -1
  246. package/fesm2022/slotted-angular-dialog.mjs +72 -30
  247. package/fesm2022/slotted-angular-dialog.mjs.map +1 -1
  248. package/fesm2022/slotted-angular-divider.mjs +7 -5
  249. package/fesm2022/slotted-angular-divider.mjs.map +1 -1
  250. package/fesm2022/slotted-angular-drawer.mjs +91 -37
  251. package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
  252. package/fesm2022/slotted-angular-entity-picker.mjs +474 -75
  253. package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
  254. package/fesm2022/slotted-angular-event-calendar.mjs +275 -108
  255. package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
  256. package/fesm2022/slotted-angular-field-group.mjs +14 -7
  257. package/fesm2022/slotted-angular-field-group.mjs.map +1 -1
  258. package/fesm2022/slotted-angular-field.mjs +35 -15
  259. package/fesm2022/slotted-angular-field.mjs.map +1 -1
  260. package/fesm2022/slotted-angular-filter-bar.mjs +118 -51
  261. package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
  262. package/fesm2022/slotted-angular-form.mjs +18 -10
  263. package/fesm2022/slotted-angular-form.mjs.map +1 -1
  264. package/fesm2022/slotted-angular-fullscreen.mjs +14 -8
  265. package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -1
  266. package/fesm2022/slotted-angular-grid.mjs +4 -2
  267. package/fesm2022/slotted-angular-grid.mjs.map +1 -1
  268. package/fesm2022/slotted-angular-highlight.mjs +5 -3
  269. package/fesm2022/slotted-angular-highlight.mjs.map +1 -1
  270. package/fesm2022/slotted-angular-hover-card.mjs +5 -4
  271. package/fesm2022/slotted-angular-hover-card.mjs.map +1 -1
  272. package/fesm2022/slotted-angular-icon.mjs +6 -3
  273. package/fesm2022/slotted-angular-icon.mjs.map +1 -1
  274. package/fesm2022/slotted-angular-image.mjs +13 -10
  275. package/fesm2022/slotted-angular-image.mjs.map +1 -1
  276. package/fesm2022/slotted-angular-import-export-center.mjs +175 -99
  277. package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -1
  278. package/fesm2022/slotted-angular-inline-message.mjs +88 -13
  279. package/fesm2022/slotted-angular-inline-message.mjs.map +1 -1
  280. package/fesm2022/slotted-angular-inline.mjs +4 -2
  281. package/fesm2022/slotted-angular-inline.mjs.map +1 -1
  282. package/fesm2022/slotted-angular-kbd.mjs +11 -7
  283. package/fesm2022/slotted-angular-kbd.mjs.map +1 -1
  284. package/fesm2022/slotted-angular-link.mjs +5 -3
  285. package/fesm2022/slotted-angular-link.mjs.map +1 -1
  286. package/fesm2022/slotted-angular-list-item.mjs +21 -18
  287. package/fesm2022/slotted-angular-list-item.mjs.map +1 -1
  288. package/fesm2022/slotted-angular-list.mjs +37 -22
  289. package/fesm2022/slotted-angular-list.mjs.map +1 -1
  290. package/fesm2022/slotted-angular-listbox.mjs +39 -21
  291. package/fesm2022/slotted-angular-listbox.mjs.map +1 -1
  292. package/fesm2022/slotted-angular-loading-overlay.mjs +59 -22
  293. package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -1
  294. package/fesm2022/slotted-angular-markdown.mjs +31 -19
  295. package/fesm2022/slotted-angular-markdown.mjs.map +1 -1
  296. package/fesm2022/slotted-angular-menu.mjs +51 -29
  297. package/fesm2022/slotted-angular-menu.mjs.map +1 -1
  298. package/fesm2022/slotted-angular-menubar.mjs +4 -2
  299. package/fesm2022/slotted-angular-menubar.mjs.map +1 -1
  300. package/fesm2022/slotted-angular-message-scroller.mjs +34 -15
  301. package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -1
  302. package/fesm2022/slotted-angular-message.mjs +119 -51
  303. package/fesm2022/slotted-angular-message.mjs.map +1 -1
  304. package/fesm2022/slotted-angular-multi-select.mjs +195 -87
  305. package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
  306. package/fesm2022/slotted-angular-navigation-menu.mjs +34 -26
  307. package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -1
  308. package/fesm2022/slotted-angular-notification-center.mjs +108 -65
  309. package/fesm2022/slotted-angular-notification-center.mjs.map +1 -1
  310. package/fesm2022/slotted-angular-number-field.mjs +23 -11
  311. package/fesm2022/slotted-angular-number-field.mjs.map +1 -1
  312. package/fesm2022/slotted-angular-otp-input.mjs +13 -8
  313. package/fesm2022/slotted-angular-otp-input.mjs.map +1 -1
  314. package/fesm2022/slotted-angular-page-header.mjs +90 -48
  315. package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
  316. package/fesm2022/slotted-angular-page.mjs +38 -10
  317. package/fesm2022/slotted-angular-page.mjs.map +1 -1
  318. package/fesm2022/slotted-angular-pagination.mjs +35 -22
  319. package/fesm2022/slotted-angular-pagination.mjs.map +1 -1
  320. package/fesm2022/slotted-angular-popover.mjs +32 -19
  321. package/fesm2022/slotted-angular-popover.mjs.map +1 -1
  322. package/fesm2022/slotted-angular-progress-indicator.mjs +236 -52
  323. package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
  324. package/fesm2022/slotted-angular-prompt-composer.mjs +57 -20
  325. package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -1
  326. package/fesm2022/slotted-angular-prose.mjs +14 -11
  327. package/fesm2022/slotted-angular-prose.mjs.map +1 -1
  328. package/fesm2022/slotted-angular-radio-group.mjs +15 -9
  329. package/fesm2022/slotted-angular-radio-group.mjs.map +1 -1
  330. package/fesm2022/slotted-angular-rating.mjs +138 -82
  331. package/fesm2022/slotted-angular-rating.mjs.map +1 -1
  332. package/fesm2022/slotted-angular-result-state.mjs +16 -12
  333. package/fesm2022/slotted-angular-result-state.mjs.map +1 -1
  334. package/fesm2022/slotted-angular-saved-views.mjs +43 -16
  335. package/fesm2022/slotted-angular-saved-views.mjs.map +1 -1
  336. package/fesm2022/slotted-angular-scroll-area.mjs +13 -5
  337. package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
  338. package/fesm2022/slotted-angular-section.mjs +53 -18
  339. package/fesm2022/slotted-angular-section.mjs.map +1 -1
  340. package/fesm2022/slotted-angular-segmented-control.mjs +37 -11
  341. package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
  342. package/fesm2022/slotted-angular-select.mjs +190 -94
  343. package/fesm2022/slotted-angular-select.mjs.map +1 -1
  344. package/fesm2022/slotted-angular-side-navigation.mjs +46 -35
  345. package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -1
  346. package/fesm2022/slotted-angular-skeleton.mjs +32 -16
  347. package/fesm2022/slotted-angular-skeleton.mjs.map +1 -1
  348. package/fesm2022/slotted-angular-slider.mjs +31 -11
  349. package/fesm2022/slotted-angular-slider.mjs.map +1 -1
  350. package/fesm2022/slotted-angular-sparkline.mjs +41 -14
  351. package/fesm2022/slotted-angular-sparkline.mjs.map +1 -1
  352. package/fesm2022/slotted-angular-split-button.mjs +37 -11
  353. package/fesm2022/slotted-angular-split-button.mjs.map +1 -1
  354. package/fesm2022/slotted-angular-splitter.mjs +11 -9
  355. package/fesm2022/slotted-angular-splitter.mjs.map +1 -1
  356. package/fesm2022/slotted-angular-stack.mjs +4 -2
  357. package/fesm2022/slotted-angular-stack.mjs.map +1 -1
  358. package/fesm2022/slotted-angular-stat-card.mjs +35 -28
  359. package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
  360. package/fesm2022/slotted-angular-status-indicator.mjs +22 -8
  361. package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -1
  362. package/fesm2022/slotted-angular-stepper.mjs +40 -15
  363. package/fesm2022/slotted-angular-stepper.mjs.map +1 -1
  364. package/fesm2022/slotted-angular-switch.mjs +15 -10
  365. package/fesm2022/slotted-angular-switch.mjs.map +1 -1
  366. package/fesm2022/slotted-angular-table-of-contents.mjs +29 -21
  367. package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -1
  368. package/fesm2022/slotted-angular-table.mjs +243 -73
  369. package/fesm2022/slotted-angular-table.mjs.map +1 -1
  370. package/fesm2022/slotted-angular-tabs.mjs +42 -18
  371. package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
  372. package/fesm2022/slotted-angular-tag.mjs +19 -12
  373. package/fesm2022/slotted-angular-tag.mjs.map +1 -1
  374. package/fesm2022/slotted-angular-tags-input.mjs +253 -28
  375. package/fesm2022/slotted-angular-tags-input.mjs.map +1 -1
  376. package/fesm2022/slotted-angular-text-field.mjs +55 -15
  377. package/fesm2022/slotted-angular-text-field.mjs.map +1 -1
  378. package/fesm2022/slotted-angular-textarea.mjs +5 -3
  379. package/fesm2022/slotted-angular-textarea.mjs.map +1 -1
  380. package/fesm2022/slotted-angular-time-field.mjs +48 -14
  381. package/fesm2022/slotted-angular-time-field.mjs.map +1 -1
  382. package/fesm2022/slotted-angular-time-picker.mjs +32 -20
  383. package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
  384. package/fesm2022/slotted-angular-time-range-picker.mjs +113 -46
  385. package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -1
  386. package/fesm2022/slotted-angular-timeline.mjs +147 -64
  387. package/fesm2022/slotted-angular-timeline.mjs.map +1 -1
  388. package/fesm2022/slotted-angular-toast.mjs +43 -31
  389. package/fesm2022/slotted-angular-toast.mjs.map +1 -1
  390. package/fesm2022/slotted-angular-toggle-group.mjs +25 -8
  391. package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -1
  392. package/fesm2022/slotted-angular-toggle.mjs +9 -4
  393. package/fesm2022/slotted-angular-toggle.mjs.map +1 -1
  394. package/fesm2022/slotted-angular-toolbar.mjs +27 -12
  395. package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
  396. package/fesm2022/slotted-angular-tooltip.mjs +15 -6
  397. package/fesm2022/slotted-angular-tooltip.mjs.map +1 -1
  398. package/fesm2022/slotted-angular-top-navigation.mjs +64 -44
  399. package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -1
  400. package/fesm2022/slotted-angular-tour.mjs +47 -22
  401. package/fesm2022/slotted-angular-tour.mjs.map +1 -1
  402. package/fesm2022/slotted-angular-transfer.mjs +69 -30
  403. package/fesm2022/slotted-angular-transfer.mjs.map +1 -1
  404. package/fesm2022/slotted-angular-tree.mjs +80 -26
  405. package/fesm2022/slotted-angular-tree.mjs.map +1 -1
  406. package/fesm2022/slotted-angular-typography.mjs +8 -4
  407. package/fesm2022/slotted-angular-typography.mjs.map +1 -1
  408. package/fesm2022/slotted-angular-upload.mjs +125 -57
  409. package/fesm2022/slotted-angular-upload.mjs.map +1 -1
  410. package/fesm2022/slotted-angular-visually-hidden.mjs +4 -2
  411. package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -1
  412. package/fesm2022/slotted-angular-wizard.mjs +163 -65
  413. package/fesm2022/slotted-angular-wizard.mjs.map +1 -1
  414. package/package.json +3 -3
  415. package/types/slotted-angular-accordion.d.ts.map +1 -1
  416. package/types/slotted-angular-action-bar.d.ts +2 -0
  417. package/types/slotted-angular-action-bar.d.ts.map +1 -1
  418. package/types/slotted-angular-action-sheet.d.ts.map +1 -1
  419. package/types/slotted-angular-alert.d.ts +2 -2
  420. package/types/slotted-angular-alert.d.ts.map +1 -1
  421. package/types/slotted-angular-app-shell.d.ts +11 -3
  422. package/types/slotted-angular-app-shell.d.ts.map +1 -1
  423. package/types/slotted-angular-aspect-ratio.d.ts.map +1 -1
  424. package/types/slotted-angular-attachment.d.ts +1 -1
  425. package/types/slotted-angular-attachment.d.ts.map +1 -1
  426. package/types/slotted-angular-avatar-group.d.ts.map +1 -1
  427. package/types/slotted-angular-avatar.d.ts +11 -3
  428. package/types/slotted-angular-avatar.d.ts.map +1 -1
  429. package/types/slotted-angular-badge.d.ts +1 -1
  430. package/types/slotted-angular-badge.d.ts.map +1 -1
  431. package/types/slotted-angular-breadcrumb.d.ts.map +1 -1
  432. package/types/slotted-angular-button-group.d.ts +1 -1
  433. package/types/slotted-angular-button-group.d.ts.map +1 -1
  434. package/types/slotted-angular-button.d.ts +33 -13
  435. package/types/slotted-angular-button.d.ts.map +1 -1
  436. package/types/slotted-angular-calendar.d.ts +30 -2
  437. package/types/slotted-angular-calendar.d.ts.map +1 -1
  438. package/types/slotted-angular-card.d.ts.map +1 -1
  439. package/types/slotted-angular-carousel.d.ts.map +1 -1
  440. package/types/slotted-angular-cascader.d.ts.map +1 -1
  441. package/types/slotted-angular-chart.d.ts +10 -0
  442. package/types/slotted-angular-chart.d.ts.map +1 -1
  443. package/types/slotted-angular-checkbox-group.d.ts.map +1 -1
  444. package/types/slotted-angular-checkbox.d.ts +7 -1
  445. package/types/slotted-angular-checkbox.d.ts.map +1 -1
  446. package/types/slotted-angular-code-block.d.ts +1 -1
  447. package/types/slotted-angular-code-block.d.ts.map +1 -1
  448. package/types/slotted-angular-collapsible.d.ts +1 -1
  449. package/types/slotted-angular-collapsible.d.ts.map +1 -1
  450. package/types/slotted-angular-color-picker.d.ts.map +1 -1
  451. package/types/slotted-angular-column-manager.d.ts.map +1 -1
  452. package/types/slotted-angular-combobox.d.ts +5 -1
  453. package/types/slotted-angular-combobox.d.ts.map +1 -1
  454. package/types/slotted-angular-command-palette.d.ts +10 -1
  455. package/types/slotted-angular-command-palette.d.ts.map +1 -1
  456. package/types/slotted-angular-container.d.ts.map +1 -1
  457. package/types/slotted-angular-context-menu.d.ts.map +1 -1
  458. package/types/slotted-angular-currency-field.d.ts +63 -15
  459. package/types/slotted-angular-currency-field.d.ts.map +1 -1
  460. package/types/slotted-angular-dashboard-grid.d.ts.map +1 -1
  461. package/types/slotted-angular-data-grid.d.ts +72 -4
  462. package/types/slotted-angular-data-grid.d.ts.map +1 -1
  463. package/types/slotted-angular-data-list.d.ts.map +1 -1
  464. package/types/slotted-angular-date-field.d.ts +11 -1
  465. package/types/slotted-angular-date-field.d.ts.map +1 -1
  466. package/types/slotted-angular-date-picker.d.ts +38 -12
  467. package/types/slotted-angular-date-picker.d.ts.map +1 -1
  468. package/types/slotted-angular-date-range-picker.d.ts +0 -1
  469. package/types/slotted-angular-date-range-picker.d.ts.map +1 -1
  470. package/types/slotted-angular-datetime-field.d.ts.map +1 -1
  471. package/types/slotted-angular-datetime-picker.d.ts +0 -1
  472. package/types/slotted-angular-datetime-picker.d.ts.map +1 -1
  473. package/types/slotted-angular-datetime-range-picker.d.ts +0 -1
  474. package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -1
  475. package/types/slotted-angular-description-list.d.ts.map +1 -1
  476. package/types/slotted-angular-detail-panel.d.ts.map +1 -1
  477. package/types/slotted-angular-dialog.d.ts +10 -3
  478. package/types/slotted-angular-dialog.d.ts.map +1 -1
  479. package/types/slotted-angular-divider.d.ts.map +1 -1
  480. package/types/slotted-angular-drawer.d.ts +12 -1
  481. package/types/slotted-angular-drawer.d.ts.map +1 -1
  482. package/types/slotted-angular-entity-picker.d.ts +63 -15
  483. package/types/slotted-angular-entity-picker.d.ts.map +1 -1
  484. package/types/slotted-angular-event-calendar.d.ts +9 -2
  485. package/types/slotted-angular-event-calendar.d.ts.map +1 -1
  486. package/types/slotted-angular-field-group.d.ts.map +1 -1
  487. package/types/slotted-angular-field.d.ts.map +1 -1
  488. package/types/slotted-angular-filter-bar.d.ts.map +1 -1
  489. package/types/slotted-angular-form.d.ts.map +1 -1
  490. package/types/slotted-angular-fullscreen.d.ts.map +1 -1
  491. package/types/slotted-angular-grid.d.ts.map +1 -1
  492. package/types/slotted-angular-highlight.d.ts.map +1 -1
  493. package/types/slotted-angular-hover-card.d.ts.map +1 -1
  494. package/types/slotted-angular-icon.d.ts +2 -2
  495. package/types/slotted-angular-icon.d.ts.map +1 -1
  496. package/types/slotted-angular-image.d.ts.map +1 -1
  497. package/types/slotted-angular-import-export-center.d.ts.map +1 -1
  498. package/types/slotted-angular-inline-message.d.ts +25 -25
  499. package/types/slotted-angular-inline-message.d.ts.map +1 -1
  500. package/types/slotted-angular-inline.d.ts.map +1 -1
  501. package/types/slotted-angular-kbd.d.ts.map +1 -1
  502. package/types/slotted-angular-link.d.ts.map +1 -1
  503. package/types/slotted-angular-list-item.d.ts +1 -1
  504. package/types/slotted-angular-list-item.d.ts.map +1 -1
  505. package/types/slotted-angular-list.d.ts +42 -27
  506. package/types/slotted-angular-list.d.ts.map +1 -1
  507. package/types/slotted-angular-listbox.d.ts.map +1 -1
  508. package/types/slotted-angular-loading-overlay.d.ts.map +1 -1
  509. package/types/slotted-angular-markdown.d.ts.map +1 -1
  510. package/types/slotted-angular-menu.d.ts +11 -2
  511. package/types/slotted-angular-menu.d.ts.map +1 -1
  512. package/types/slotted-angular-menubar.d.ts.map +1 -1
  513. package/types/slotted-angular-message-scroller.d.ts.map +1 -1
  514. package/types/slotted-angular-message.d.ts +1 -1
  515. package/types/slotted-angular-message.d.ts.map +1 -1
  516. package/types/slotted-angular-multi-select.d.ts +15 -1
  517. package/types/slotted-angular-multi-select.d.ts.map +1 -1
  518. package/types/slotted-angular-navigation-menu.d.ts.map +1 -1
  519. package/types/slotted-angular-notification-center.d.ts +1 -1
  520. package/types/slotted-angular-notification-center.d.ts.map +1 -1
  521. package/types/slotted-angular-number-field.d.ts.map +1 -1
  522. package/types/slotted-angular-otp-input.d.ts.map +1 -1
  523. package/types/slotted-angular-page-header.d.ts +15 -6
  524. package/types/slotted-angular-page-header.d.ts.map +1 -1
  525. package/types/slotted-angular-page.d.ts.map +1 -1
  526. package/types/slotted-angular-pagination.d.ts.map +1 -1
  527. package/types/slotted-angular-popover.d.ts.map +1 -1
  528. package/types/slotted-angular-progress-indicator.d.ts +8 -1
  529. package/types/slotted-angular-progress-indicator.d.ts.map +1 -1
  530. package/types/slotted-angular-prompt-composer.d.ts +11 -2
  531. package/types/slotted-angular-prompt-composer.d.ts.map +1 -1
  532. package/types/slotted-angular-prose.d.ts.map +1 -1
  533. package/types/slotted-angular-radio-group.d.ts.map +1 -1
  534. package/types/slotted-angular-rating.d.ts +1 -1
  535. package/types/slotted-angular-rating.d.ts.map +1 -1
  536. package/types/slotted-angular-result-state.d.ts.map +1 -1
  537. package/types/slotted-angular-saved-views.d.ts.map +1 -1
  538. package/types/slotted-angular-scroll-area.d.ts.map +1 -1
  539. package/types/slotted-angular-section.d.ts +11 -3
  540. package/types/slotted-angular-section.d.ts.map +1 -1
  541. package/types/slotted-angular-segmented-control.d.ts +15 -2
  542. package/types/slotted-angular-segmented-control.d.ts.map +1 -1
  543. package/types/slotted-angular-select.d.ts +12 -2
  544. package/types/slotted-angular-select.d.ts.map +1 -1
  545. package/types/slotted-angular-side-navigation.d.ts.map +1 -1
  546. package/types/slotted-angular-skeleton.d.ts.map +1 -1
  547. package/types/slotted-angular-slider.d.ts.map +1 -1
  548. package/types/slotted-angular-sparkline.d.ts +7 -1
  549. package/types/slotted-angular-sparkline.d.ts.map +1 -1
  550. package/types/slotted-angular-split-button.d.ts +2 -2
  551. package/types/slotted-angular-split-button.d.ts.map +1 -1
  552. package/types/slotted-angular-splitter.d.ts.map +1 -1
  553. package/types/slotted-angular-stack.d.ts.map +1 -1
  554. package/types/slotted-angular-stat-card.d.ts +1 -1
  555. package/types/slotted-angular-stat-card.d.ts.map +1 -1
  556. package/types/slotted-angular-status-indicator.d.ts +1 -1
  557. package/types/slotted-angular-status-indicator.d.ts.map +1 -1
  558. package/types/slotted-angular-stepper.d.ts +1 -1
  559. package/types/slotted-angular-stepper.d.ts.map +1 -1
  560. package/types/slotted-angular-switch.d.ts.map +1 -1
  561. package/types/slotted-angular-table-of-contents.d.ts.map +1 -1
  562. package/types/slotted-angular-table.d.ts +63 -6
  563. package/types/slotted-angular-table.d.ts.map +1 -1
  564. package/types/slotted-angular-tabs.d.ts +3 -4
  565. package/types/slotted-angular-tabs.d.ts.map +1 -1
  566. package/types/slotted-angular-tag.d.ts +1 -1
  567. package/types/slotted-angular-tag.d.ts.map +1 -1
  568. package/types/slotted-angular-tags-input.d.ts +33 -1
  569. package/types/slotted-angular-tags-input.d.ts.map +1 -1
  570. package/types/slotted-angular-text-field.d.ts.map +1 -1
  571. package/types/slotted-angular-textarea.d.ts.map +1 -1
  572. package/types/slotted-angular-theme.d.ts +1 -1
  573. package/types/slotted-angular-time-field.d.ts.map +1 -1
  574. package/types/slotted-angular-time-picker.d.ts +0 -1
  575. package/types/slotted-angular-time-picker.d.ts.map +1 -1
  576. package/types/slotted-angular-time-range-picker.d.ts +0 -1
  577. package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
  578. package/types/slotted-angular-timeline.d.ts +1 -1
  579. package/types/slotted-angular-timeline.d.ts.map +1 -1
  580. package/types/slotted-angular-toast.d.ts +3 -3
  581. package/types/slotted-angular-toast.d.ts.map +1 -1
  582. package/types/slotted-angular-toggle-group.d.ts +8 -2
  583. package/types/slotted-angular-toggle-group.d.ts.map +1 -1
  584. package/types/slotted-angular-toggle.d.ts +1 -1
  585. package/types/slotted-angular-toggle.d.ts.map +1 -1
  586. package/types/slotted-angular-toolbar.d.ts +2 -0
  587. package/types/slotted-angular-toolbar.d.ts.map +1 -1
  588. package/types/slotted-angular-tooltip.d.ts.map +1 -1
  589. package/types/slotted-angular-top-navigation.d.ts.map +1 -1
  590. package/types/slotted-angular-tour.d.ts.map +1 -1
  591. package/types/slotted-angular-transfer.d.ts.map +1 -1
  592. package/types/slotted-angular-tree.d.ts.map +1 -1
  593. package/types/slotted-angular-typography.d.ts +1 -1
  594. package/types/slotted-angular-typography.d.ts.map +1 -1
  595. package/types/slotted-angular-upload.d.ts +2 -2
  596. package/types/slotted-angular-upload.d.ts.map +1 -1
  597. package/types/slotted-angular-visually-hidden.d.ts.map +1 -1
  598. package/types/slotted-angular-wizard.d.ts.map +1 -1
@@ -114,211 +114,211 @@
114
114
  "part": "root",
115
115
  "element": "div",
116
116
  "required": true,
117
- "purpose": "O landmark role=\"search\" com o nome da família. Carrega data-ui=\"filter-bar\", data-apply, data-size, data-dirty, data-open, data-sticky, data-readonly, data-disabled, data-loading. É o contentor de query; nada nele muda de grelha."
117
+ "purpose": "The role=\"search\" landmark with the family name. Carries data-ui=\"filter-bar\", data-apply, data-size, data-dirty, data-open, data-sticky, data-readonly, data-disabled, data-loading. It is the query container; nothing on it changes grid."
118
118
  },
119
119
  {
120
120
  "part": "frame",
121
121
  "element": "div",
122
122
  "required": true,
123
- "purpose": "A grelha, um elemento dentro da raiz, porque uma container query não restyla o elemento que mede. Acima de 36rem duas linhas: a busca, os controles do consumidor e a contagem; depois a barra, que quebra. Abaixo, a busca, a barra como uma linha que desliza, e a contagem."
123
+ "purpose": "The grid, an element inside the root, because a container query does not restyle the element it measures. Above 36rem, two rows: the search, the consumer’s controls and the count; then the bar, which wraps. Below, the search, the bar as a row that scrolls sideways, and the count."
124
124
  },
125
125
  {
126
126
  "part": "search",
127
127
  "element": "div",
128
128
  "required": true,
129
- "purpose": "O campo de busca global — um text-field embrulhado — a primeira parada de tabulação. Escape limpa a query; a tecla shortcut chega aqui."
129
+ "purpose": "The global search field — a wrapped text-field — the first tab stop. Escape clears the query; the shortcut key lands here."
130
130
  },
131
131
  {
132
132
  "part": "bar",
133
133
  "element": "div",
134
134
  "required": true,
135
- "purpose": "O role=\"toolbar\" que segura tudo o que não é a busca: uma parada de tabulação, e as setas percorrem o summary, os pills, cada segmento de cada chip, more, add, clear e as ações, de linha em linha. data-revealed quando os chips dobrados estão à vista."
135
+ "purpose": "The role=\"toolbar\" that holds everything that is not the search: one tab stop, and the arrows move through the summary, the pills, each segment of each chip, more, add, clear and the actions, from row to row. data-revealed while the folded chips are in view."
136
136
  },
137
137
  {
138
138
  "part": "pill",
139
139
  "element": "button",
140
140
  "required": false,
141
- "purpose": "Um campo fixado sem condição: aresta tracejada, glifo plus, o nome. Premido, dá lugar ao chip do campo, incompleto, com o popover do valor aberto; num telefone abre o construtor com o cartão da regra."
141
+ "purpose": "A pinned field without a condition: dashed edge, plus glyph, the name. Pressed, it gives way to the field’s chip, incomplete, with the value popover open; on a phone it opens the builder with the rule’s card."
142
142
  },
143
143
  {
144
144
  "part": "add",
145
145
  "element": "button",
146
146
  "required": true,
147
- "purpose": "O gatilho do menu com os campos ainda sem regra, agrupados por section e com o glifo de cada um. Com um chip na barra desenha só o glifo, num círculo, data-compact; o rótulo fica como nome e title."
147
+ "purpose": "The trigger of the menu with the fields that have no rule yet, grouped by section and with each one’s glyph. With a chip on the bar it draws only the glyph, in a circle, data-compact; the label stays as name and title."
148
148
  },
149
149
  {
150
150
  "part": "clear",
151
151
  "element": "button",
152
152
  "required": false,
153
- "purpose": "Desenhado enquanto algo está aplicado. Devolve um campo obrigatório ao seu defaultValue e apaga o resto, com a razão clear."
153
+ "purpose": "Drawn while something is applied. Returns a required field to its defaultValue and erases the rest, with the reason clear."
154
154
  },
155
155
  {
156
156
  "part": "preset",
157
157
  "element": "div",
158
158
  "required": false,
159
- "purpose": "Um select embrulhado com as vistas guardadas. Escolher uma substitui a árvore com a razão select."
159
+ "purpose": "A wrapped select with the saved views. Choosing one replaces the tree with the reason select."
160
160
  },
161
161
  {
162
162
  "part": "actions",
163
163
  "element": "div",
164
164
  "required": false,
165
- "purpose": "Sob apply=\"manual\": reset e apply. Num grupo do construtor: add-rule, add-group, remove-group."
165
+ "purpose": "Under apply=\"manual\": reset and apply. In a builder group: add-rule, add-group, remove-group."
166
166
  },
167
167
  {
168
168
  "part": "apply",
169
169
  "element": "button",
170
170
  "required": false,
171
- "purpose": "Aplica o rascunho com a razão submit. Recusa enquanto um campo obrigatório não tem valor."
171
+ "purpose": "Applies the draft with the reason submit. Refuses while a required field has no value."
172
172
  },
173
173
  {
174
174
  "part": "reset",
175
175
  "element": "button",
176
176
  "required": false,
177
- "purpose": "Descarta o rascunho."
177
+ "purpose": "Discards the draft."
178
178
  },
179
179
  {
180
180
  "part": "summary",
181
181
  "element": "button",
182
182
  "required": true,
183
- "purpose": "Primeiro na barra, desenhado só abaixo de 36rem: \"Filters (n)\", que abre o construtor. Fora da largura estreita está escondido e fora do anel de foco."
183
+ "purpose": "First on the bar, drawn only below 36rem: \"Filters (n)\", which opens the builder. Outside the narrow width it is hidden and out of the focus ring."
184
184
  },
185
185
  {
186
186
  "part": "end",
187
187
  "element": "div",
188
188
  "required": true,
189
- "purpose": "Os controles do consumidor — uma ordenação, um seletor de colunas — projetados como children."
189
+ "purpose": "The consumer’s controls — a sort, a column picker — projected as children."
190
190
  },
191
191
  {
192
192
  "part": "chip",
193
193
  "element": "div",
194
194
  "required": false,
195
- "purpose": "Uma condição escrita em segmentos, role=\"group\" com o nome \"<campo>: <frase>\". data-pinned num campo fixado, data-incomplete enquanto falta o operando, data-folded além de chipLimit, data-invalid num campo desconhecido ou obrigatório sem valor. Delete em qualquer segmento remove a condição."
195
+ "purpose": "A condition written in segments, role=\"group\" named \"<field>: <phrase>\". data-pinned on a pinned field, data-incomplete while the operand is missing, data-folded beyond chipLimit, data-invalid on an unknown field or a required field without a value. Delete on any segment removes the condition."
196
196
  },
197
197
  {
198
198
  "part": "chip-field",
199
199
  "element": "span",
200
200
  "required": false,
201
- "purpose": "O glifo do campo e o seu nome. Só se lê: o campo de uma condição é fixo."
201
+ "purpose": "The field’s glyph and its name. Read only: the field of a condition is fixed."
202
202
  },
203
203
  {
204
204
  "part": "chip-operator",
205
205
  "element": "button",
206
206
  "required": false,
207
- "purpose": "O operador, mais leve que as pontas. Abre um menu com os operadores da espécie; um operador que pede um operando em falta passa ao valor."
207
+ "purpose": "The operator, lighter than the ends. Opens a menu with the operators of the kind; an operator that needs a missing operand moves on to the value."
208
208
  },
209
209
  {
210
210
  "part": "chip-value",
211
211
  "element": "button",
212
212
  "required": false,
213
- "purpose": "O valor: dois itens e o resto em número, a lista inteira no nome e no title. Abre um popover só com o operando; num telefone leva também as palavras do operador e abre o construtor."
213
+ "purpose": "The value: two items and the rest as a number, the whole list in the name and the title. Opens a popover with the operand only; on a phone it also carries the operator’s words and opens the builder."
214
214
  },
215
215
  {
216
216
  "part": "chip-remove",
217
217
  "element": "button",
218
218
  "required": false,
219
- "purpose": "Remove a condição com a razão remove. Ausente num campo obrigatório e sob readOnly."
219
+ "purpose": "Removes the condition with the reason remove. Absent on a required field and under readOnly."
220
220
  },
221
221
  {
222
222
  "part": "more",
223
223
  "element": "button",
224
224
  "required": false,
225
- "purpose": "\"+n more\" enquanto há chips dobrados; \"Show less\" quando revelados."
225
+ "purpose": "\"+n more\" while chips are folded; \"Show less\" when they are revealed."
226
226
  },
227
227
  {
228
228
  "part": "count",
229
229
  "element": "p",
230
230
  "required": false,
231
- "purpose": "A contagem, em aria-live=\"polite\": count de total nas figuras da língua em vigor. Com loading, um spinner e aria-busy."
231
+ "purpose": "The count, in aria-live=\"polite\": count of total in the figures of the current locale. With loading, a spinner and aria-busy."
232
232
  },
233
233
  {
234
234
  "part": "builder",
235
235
  "element": "div",
236
236
  "required": true,
237
- "purpose": "O editor da árvore inteira, dentro de um drawer. Leva data-ui próprio porque o drawer o portaliza."
237
+ "purpose": "The editor of the whole tree, inside a drawer. Carries its own data-ui because the drawer portals it."
238
238
  },
239
239
  {
240
240
  "part": "group",
241
241
  "element": "fieldset",
242
242
  "required": true,
243
- "purpose": "Um grupo da árvore: o cabeçalho, as linhas e os controles. A partir de data-depth 1 é uma caixa sobre a superfície afundada, com o seu próprio remover no cabeçalho."
243
+ "purpose": "A group of the tree: the header, the rows and the controls. From data-depth 1 on it is a box over the sunken surface, with its own remove in the header."
244
244
  },
245
245
  {
246
246
  "part": "join",
247
247
  "element": "div",
248
248
  "required": true,
249
- "purpose": "O cabeçalho do grupo: \"Match\", o segmented-control All/Any, \"of the following\" e, num grupo aninhado, Remove group na ponta."
249
+ "purpose": "The group header: \"Match\", the All/Any segmented-control, \"of the following\" and, in a nested group, Remove group at the end."
250
250
  },
251
251
  {
252
252
  "part": "rules",
253
253
  "element": "div",
254
254
  "required": true,
255
- "purpose": "As linhas do grupo numa grelha de duas colunas: a palavra que junta e a regra ou o grupo, para todos os campos alinharem."
255
+ "purpose": "The group’s rows in a two-column grid: the joining word and the rule or the group, so that every field aligns."
256
256
  },
257
257
  {
258
258
  "part": "conjunction",
259
259
  "element": "span",
260
260
  "required": true,
261
- "purpose": "A palavra antes de cada linha: \"Where\" na primeira, \"and\" ou \"or\" nas seguintes, a junção do grupo."
261
+ "purpose": "The word before each row: \"Where\" on the first, \"and\" or \"or\" on the following ones, the group’s join."
262
262
  },
263
263
  {
264
264
  "part": "rule",
265
265
  "element": "div",
266
266
  "required": false,
267
- "purpose": "Uma regra: campo, operador, operando, remover. data-kind e data-operands para a grelha; data-invalid num campo desconhecido; data-expanded no cartão aberto da forma estreita."
267
+ "purpose": "A rule: field, operator, operand, remove. data-kind and data-operands for the grid; data-invalid on an unknown field; data-expanded on the open card of the narrow form."
268
268
  },
269
269
  {
270
270
  "part": "rule-summary",
271
271
  "element": "button",
272
272
  "required": false,
273
- "purpose": "A frase da regra, cabeçalho do cartão quando o construtor tem menos de 30rem. Premida, abre ou fecha o cartão, um de cada vez; aria-expanded e aria-controls nos três controles."
273
+ "purpose": "The rule’s phrase, header of the card when the builder is narrower than 30rem. Pressed, it opens or closes the card, one at a time; aria-expanded and aria-controls on the three controls."
274
274
  },
275
275
  {
276
276
  "part": "field",
277
277
  "element": "div",
278
278
  "required": false,
279
- "purpose": "O select do campo, embrulhado."
279
+ "purpose": "The field select, wrapped."
280
280
  },
281
281
  {
282
282
  "part": "operator",
283
283
  "element": "div",
284
284
  "required": false,
285
- "purpose": "O select do operador, com os nomes do mapa que table já traduz."
285
+ "purpose": "The operator select, with the names of the map that table already translates."
286
286
  },
287
287
  {
288
288
  "part": "operand",
289
289
  "element": "div",
290
290
  "required": false,
291
- "purpose": "O controle por espécie — text-field, number-field, date-picker, time-picker, datetime-picker, select de verdadeiro/falso, multi-select — ou o que renderOperand devolver. Duas colunas para between."
291
+ "purpose": "The control for the kind — text-field, number-field, date-picker, time-picker, datetime-picker, true/false select, multi-select — or whatever renderOperand returns. Two columns for between."
292
292
  },
293
293
  {
294
294
  "part": "remove",
295
295
  "element": "button",
296
296
  "required": false,
297
- "purpose": "Remove a regra do grupo. Ausente numa regra de campo obrigatório."
297
+ "purpose": "Removes the rule from the group. Absent on a rule of a required field."
298
298
  },
299
299
  {
300
300
  "part": "add-rule",
301
301
  "element": "button",
302
302
  "required": true,
303
- "purpose": "Acrescenta uma regra ao grupo, no primeiro campo."
303
+ "purpose": "Adds a rule to the group, on the first field."
304
304
  },
305
305
  {
306
306
  "part": "add-group",
307
307
  "element": "button",
308
308
  "required": true,
309
- "purpose": "Acrescenta um grupo com a junção oposta e uma regra dentro."
309
+ "purpose": "Adds a group with the opposite join and one rule inside."
310
310
  },
311
311
  {
312
312
  "part": "remove-group",
313
313
  "element": "button",
314
314
  "required": false,
315
- "purpose": "O glifo do caixote, nomeado Remove group: remove um grupo aninhado com tudo o que tem dentro. A raiz não se remove."
315
+ "purpose": "The trash glyph, named Remove group: removes a nested group with everything inside it. The root cannot be removed."
316
316
  },
317
317
  {
318
318
  "part": "save-preset",
319
319
  "element": "button",
320
320
  "required": false,
321
- "purpose": "Pede à aplicação que guarde a árvore como vista, quando onPresetSave existe. O nome é a aplicação que pergunta."
321
+ "purpose": "Asks the application to save the tree as a view, when onPresetSave exists. The application asks for the name."
322
322
  }
323
323
  ],
324
324
  "api": [
@@ -327,196 +327,196 @@
327
327
  "type": "FilterBarField[]",
328
328
  "defaultValue": "—",
329
329
  "appliesTo": "FilterBar",
330
- "description": "Os campos filtráveis: key, label, kind, icon (nome de glifo ou TemplateRef), operators, pinned, required, defaultValue, section, options, searchable"
330
+ "description": "The filterable fields: key, label, kind, icon (glyph name or TemplateRef), operators, pinned, required, defaultValue, section, options, searchable"
331
331
  },
332
332
  {
333
333
  "name": "value",
334
334
  "type": "model<FilterGroup | null | undefined>",
335
335
  "defaultValue": "—",
336
336
  "appliesTo": "FilterBar",
337
- "description": "[(value)]: a árvore que o consumidor possui. Presente é controlado, para a vida da barra"
337
+ "description": "[(value)]: the tree the consumer owns. Present means controlled, for the life of the bar"
338
338
  },
339
339
  {
340
340
  "name": "defaultValue",
341
341
  "type": "FilterGroup | null",
342
342
  "defaultValue": "—",
343
343
  "appliesTo": "FilterBar",
344
- "description": "Onde uma barra não controlada começa, lida uma vez"
344
+ "description": "Where an uncontrolled bar starts, read once"
345
345
  },
346
346
  {
347
347
  "name": "query",
348
348
  "type": "model<string | undefined>",
349
349
  "defaultValue": "—",
350
350
  "appliesTo": "FilterBar",
351
- "description": "[(query)]: a busca global"
351
+ "description": "[(query)]: the global search"
352
352
  },
353
353
  {
354
354
  "name": "defaultQuery",
355
355
  "type": "string",
356
356
  "defaultValue": "",
357
357
  "appliesTo": "FilterBar",
358
- "description": "A busca com que uma barra não controlada começa"
358
+ "description": "The search an uncontrolled bar starts with"
359
359
  },
360
360
  {
361
361
  "name": "presets",
362
362
  "type": "FilterBarPreset[]",
363
363
  "defaultValue": "—",
364
364
  "appliesTo": "FilterBar",
365
- "description": "As vistas guardadas: key, label, value"
365
+ "description": "The saved views: key, label, value"
366
366
  },
367
367
  {
368
368
  "name": "preset",
369
369
  "type": "model<string | null | undefined>",
370
370
  "defaultValue": "—",
371
371
  "appliesTo": "FilterBar",
372
- "description": "[(preset)]: a vista corrente"
372
+ "description": "[(preset)]: the current view"
373
373
  },
374
374
  {
375
375
  "name": "defaultPreset",
376
376
  "type": "string | null",
377
377
  "defaultValue": "null",
378
378
  "appliesTo": "FilterBar",
379
- "description": "A vista com que começa"
379
+ "description": "The view it starts with"
380
380
  },
381
381
  {
382
382
  "name": "open",
383
383
  "type": "model<boolean | undefined>",
384
384
  "defaultValue": "—",
385
385
  "appliesTo": "FilterBar",
386
- "description": "[(open)]: se o construtor está aberto"
386
+ "description": "[(open)]: whether the builder is open"
387
387
  },
388
388
  {
389
389
  "name": "defaultOpen",
390
390
  "type": "boolean",
391
391
  "defaultValue": "false",
392
392
  "appliesTo": "FilterBar",
393
- "description": "Se começa aberto"
393
+ "description": "Whether it starts open"
394
394
  },
395
395
  {
396
396
  "name": "revealed",
397
397
  "type": "model<boolean | undefined>",
398
398
  "defaultValue": "—",
399
399
  "appliesTo": "FilterBar",
400
- "description": "[(revealed)]: se os chips dobrados estão à vista"
400
+ "description": "[(revealed)]: whether the folded chips are in view"
401
401
  },
402
402
  {
403
403
  "name": "defaultRevealed",
404
404
  "type": "boolean",
405
405
  "defaultValue": "false",
406
406
  "appliesTo": "FilterBar",
407
- "description": "Se começam à vista"
407
+ "description": "Whether they start in view"
408
408
  },
409
409
  {
410
410
  "name": "apply",
411
411
  "type": "'live' | 'manual'",
412
412
  "defaultValue": "live",
413
413
  "appliesTo": "FilterBar",
414
- "description": "Pede a cada edição, ou edita um rascunho até Apply"
414
+ "description": "Requests on every edit, or edits a draft until Apply"
415
415
  },
416
416
  {
417
417
  "name": "sticky",
418
418
  "type": "boolean",
419
419
  "defaultValue": "false",
420
420
  "appliesTo": "FilterBar",
421
- "description": "Cola sob o cabeçalho da página e soma a sua altura ao que segue"
421
+ "description": "Sticks under the page header and adds its height to what follows"
422
422
  },
423
423
  {
424
424
  "name": "container",
425
425
  "type": "Element | null",
426
426
  "defaultValue": "—",
427
427
  "appliesTo": "FilterBar",
428
- "description": "Um pai só para o drawer do construtor, em vez da raiz de portal partilhada"
428
+ "description": "A parent for the builder drawer only, instead of the shared portal root"
429
429
  },
430
430
  {
431
431
  "name": "size",
432
432
  "type": "'sm' | 'md' | 'lg'",
433
433
  "defaultValue": "md",
434
434
  "appliesTo": "FilterBar",
435
- "description": "O passo dos controles"
435
+ "description": "The step of the controls"
436
436
  },
437
437
  {
438
438
  "name": "queryDelay",
439
439
  "type": "number",
440
440
  "defaultValue": "320",
441
441
  "appliesTo": "FilterBar",
442
- "description": "Milissegundos que a busca e um operando de texto esperam sob live"
442
+ "description": "Milliseconds the search and a text operand wait under live"
443
443
  },
444
444
  {
445
445
  "name": "chipLimit",
446
446
  "type": "number",
447
447
  "defaultValue": "6",
448
448
  "appliesTo": "FilterBar",
449
- "description": "Chips à vista antes de dobrar"
449
+ "description": "Chips in view before folding"
450
450
  },
451
451
  {
452
452
  "name": "shortcut",
453
453
  "type": "string | null",
454
454
  "defaultValue": "null",
455
455
  "appliesTo": "FilterBar",
456
- "description": "A tecla do documento que foca a busca, fora de um campo editável"
456
+ "description": "The document key that focuses the search, outside an editable field"
457
457
  },
458
458
  {
459
459
  "name": "disabled",
460
460
  "type": "boolean",
461
461
  "defaultValue": "false",
462
462
  "appliesTo": "FilterBar",
463
- "description": "Desliga todos os controles"
463
+ "description": "Turns off every control"
464
464
  },
465
465
  {
466
466
  "name": "readOnly",
467
467
  "type": "boolean",
468
468
  "defaultValue": "false",
469
469
  "appliesTo": "FilterBar",
470
- "description": "Cada condição alcançável e legível, nenhuma alterável: sem X, add, clear nem pills vazios"
470
+ "description": "Every condition reachable and readable, none changeable: no X, add, clear or empty pills"
471
471
  },
472
472
  {
473
473
  "name": "loading",
474
474
  "type": "boolean",
475
475
  "defaultValue": "false",
476
476
  "appliesTo": "FilterBar",
477
- "description": "Mantém a largura, desliga Apply, spinner no lugar da contagem"
477
+ "description": "Keeps the width, turns off Apply, spinner in place of the count"
478
478
  },
479
479
  {
480
480
  "name": "count",
481
481
  "type": "number",
482
482
  "defaultValue": "—",
483
483
  "appliesTo": "FilterBar",
484
- "description": "Quantas linhas o filtro manteve"
484
+ "description": "How many rows the filter kept"
485
485
  },
486
486
  {
487
487
  "name": "total",
488
488
  "type": "number",
489
489
  "defaultValue": "—",
490
490
  "appliesTo": "FilterBar",
491
- "description": "Quantas há"
491
+ "description": "How many there are"
492
492
  },
493
493
  {
494
494
  "name": "messages",
495
495
  "type": "Partial<FilterBarMessages>",
496
496
  "defaultValue": "—",
497
497
  "appliesTo": "FilterBar",
498
- "description": "Palavras sobre as da língua em vigor, chave a chave: o nome do landmark (bar), os controles, os nomes dos chips, a contagem e os anúncios"
498
+ "description": "Words over those of the current locale, key by key: the landmark name (bar), the controls, the chip names, the count and the announcements"
499
499
  },
500
500
  {
501
501
  "name": "savePresetEnabled",
502
502
  "type": "boolean",
503
503
  "defaultValue": "false",
504
504
  "appliesTo": "FilterBar",
505
- "description": "Desenha \"Save as view…\" no construtor e emite savePreset"
505
+ "description": "Draws \"Save as view…\" in the builder and emits savePreset"
506
506
  },
507
507
  {
508
508
  "name": "ng-template[slFilterBarOperand]",
509
- "type": "projeção",
509
+ "type": "projection",
510
510
  "defaultValue": "—",
511
511
  "appliesTo": "FilterBar",
512
- "description": "Substitui o controle do operando do campo nomeado, ou de todos com \"*\""
512
+ "description": "Replaces the operand control of the named field, or of every field with \"*\""
513
513
  },
514
514
  {
515
515
  "name": "[slFilterBarEnd]",
516
- "type": "projeção",
516
+ "type": "projection",
517
517
  "defaultValue": "—",
518
518
  "appliesTo": "FilterBar",
519
- "description": "Os controles do consumidor no slot end"
519
+ "description": "The consumer’s controls in the end slot"
520
520
  }
521
521
  ],
522
522
  "composition": [
@@ -525,76 +525,76 @@
525
525
  "type": "let-field, let-operator=\"operator\", let-value=\"value\", let-set=\"set\", let-apply=\"apply\"",
526
526
  "defaultValue": "—",
527
527
  "appliesTo": "FilterBar",
528
- "description": "A costura que a rodada 12 usa em table: date-range-picker num between, tags-input num conjunto grande"
528
+ "description": "The seam table uses: date-range-picker on a between, tags-input on a large set"
529
529
  },
530
530
  {
531
531
  "name": "[slFilterBarEnd]",
532
532
  "type": "ng-content",
533
533
  "defaultValue": "—",
534
534
  "appliesTo": "FilterBar",
535
- "description": "O slot end: uma ordenação, um seletor de colunas, fora do anel da toolbar"
535
+ "description": "The end slot: a sort, a column picker, outside the toolbar ring"
536
536
  },
537
537
  {
538
538
  "name": "exportAs",
539
539
  "type": "slFilterBar",
540
540
  "defaultValue": "—",
541
541
  "appliesTo": "FilterBar",
542
- "description": "Alcança a instância a partir da template: #bar=\"slFilterBar\" e bar.focusSearch() ou bar.openBuilder()"
542
+ "description": "Reaches the instance from the template: #bar=\"slFilterBar\" and bar.focusSearch() or bar.openBuilder()"
543
543
  },
544
544
  {
545
545
  "name": "provideFilterBarDefaults()",
546
546
  "type": "apply | chipLimit | queryDelay | shortcut | size",
547
547
  "defaultValue": "—",
548
548
  "appliesTo": "Injector",
549
- "description": "Decide uma vez para tudo por baixo; um input na barra ganha"
549
+ "description": "Decides once for everything below; an input on the bar wins"
550
550
  },
551
551
  {
552
552
  "name": "id, aria-label, dir, data-*, (keydown)",
553
- "type": "atributos nativos",
553
+ "type": "native attributes",
554
554
  "defaultValue": "—",
555
555
  "appliesTo": "FilterBar",
556
- "description": "Ficam no elemento host; aria-label dá nome ao landmark, o listener do consumidor corre a par do da família"
556
+ "description": "Stay on the host element; aria-label names the landmark, the consumer’s listener runs alongside the family’s"
557
557
  }
558
558
  ],
559
559
  "events": [
560
560
  {
561
561
  "name": "(valueChangeRequest)",
562
562
  "payload": "ChangeRequest<FilterGroup | null>",
563
- "when": "Antes de a árvore mover; [(value)] é a outra metade, o valor. A razão é pointer, keyboard, clear, remove, select, submit ou programmatic; cancelar não move nada. A árvore chega normalizada: sem regras incompletas, null quando nada resta."
563
+ "when": "Before the tree moves; [(value)] is the other half, the value. The reason is pointer, keyboard, clear, remove, select, submit or programmatic; cancelling moves nothing. The tree arrives normalized: no incomplete rules, null when nothing is left."
564
564
  },
565
565
  {
566
566
  "name": "(queryChangeRequest)",
567
567
  "payload": "ChangeRequest<string>",
568
- "when": "Depois de queryDelay sob live, ou com submit sob manual; clear quando Escape ou o X do campo a limpam. [(query)] é o valor."
568
+ "when": "After queryDelay under live, or with submit under manual; clear when Escape or the field’s X clears it. [(query)] is the value."
569
569
  },
570
570
  {
571
571
  "name": "(presetChangeRequest)",
572
572
  "payload": "ChangeRequest<string | null>",
573
- "when": "Quando uma vista é escolhida no select, com select; clear quando o select é esvaziado. [(preset)] é o valor."
573
+ "when": "When a view is chosen in the select, with select; clear when the select is emptied. [(preset)] is the value."
574
574
  },
575
575
  {
576
576
  "name": "(savePreset)",
577
577
  "payload": "FilterGroup | null",
578
- "when": "Quando o leitor pressiona \"Save as view…\" no construtor, desenhado por savePresetEnabled. A família não guarda: pergunta."
578
+ "when": "When the reader presses \"Save as view…\" in the builder, drawn by savePresetEnabled. The family does not save: it asks."
579
579
  },
580
580
  {
581
581
  "name": "(openChangeRequest)",
582
582
  "payload": "ChangeRequest<boolean>",
583
- "when": "Antes de o construtor abrir ou fechar: pointer, keyboard, escape, outsidePress, dismiss, submit, programmatic. [(open)] é o valor."
583
+ "when": "Before the builder opens or closes: pointer, keyboard, escape, outsidePress, dismiss, submit, programmatic. [(open)] is the value."
584
584
  },
585
585
  {
586
586
  "name": "(revealedChangeRequest)",
587
587
  "payload": "ChangeRequest<boolean>",
588
- "when": "Antes de os chips dobrados aparecerem ou voltarem a dobrar. [(revealed)] é o valor."
588
+ "when": "Before the folded chips appear or fold again. [(revealed)] is the value."
589
589
  }
590
590
  ],
591
591
  "accessibility": [
592
- "A raiz é role=\"search\", não role=\"toolbar\": o padrão Toolbar do APG pede que uma toolbar evite controles que precisam das setas, e o campo de busca é um. A busca é a primeira parada de tabulação e a toolbar a segunda — duas paradas sejam quantos forem os campos; a nota do APG para toolbars de várias linhas deixa as setas passar de linha em linha.",
593
- "Um chip é role=\"group\" com o nome \"<campo>: <frase>\", a mesma frase que describeFilter dá ao anúncio de table, e \", incomplete\" enquanto falta o valor. O operador tem aria-haspopup=\"menu\", o valor aria-haspopup=\"dialog\" e o nome com a lista inteira, o X \"Remove <campo>\". Delete e Backspace em qualquer segmento removem com a razão remove e o foco vai ao segmento do mesmo papel no chip seguinte, ao anterior, ou ao Add filter.",
594
- "Um pill tem aria-haspopup=\"dialog\"; sob readOnly a toolbar leva aria-description=\"Read only\" e os segmentos guardam a paragem com aria-disabled, e um valor bloqueado nomeia a lista inteira que o popover já não mostra.",
595
- "A contagem é a própria região viva, em polite, por isso o efeito de um filtro é ouvido; aplicar, limpar, remover um chip e escolher uma vista são anunciados pelo live-announcer partilhado.",
596
- "O construtor é um drawer: modal, Escape fecha e descarta, o foco volta ao gatilho. Cada grupo é um fieldset com legend, cada regra três controles nomeados — Field, Operator, Value ou From e To.",
597
- "Abaixo de 36rem o operador, more, add e clear saem do anel de foco com visibility hidden, não só do desenho: uma parada onde nada se vê é uma parada que não existe. Os cartões fechados do construtor tiram os três controles do anel da mesma forma; a frase do cartão tem aria-expanded e aria-controls."
592
+ "The root is role=\"search\", not role=\"toolbar\": the APG Toolbar pattern asks a toolbar to avoid controls that need the arrows, and the search field is one. The search is the first tab stop and the toolbar the second — two stops however many fields there are; the APG note on multi-row toolbars lets the arrows move from row to row.",
593
+ "A chip is role=\"group\" named \"<field>: <phrase>\", the same phrase describeFilter gives to the table announcement, and \", incomplete\" while the value is missing. The operator has aria-haspopup=\"menu\", the value aria-haspopup=\"dialog\" and the name with the whole list, the X \"Remove <field>\". Delete and Backspace on any segment remove with the reason remove and focus goes to the segment of the same role on the next chip, the previous one, or Add filter.",
594
+ "A pill has aria-haspopup=\"dialog\"; under readOnly the toolbar carries aria-description=\"Read only\" and the segments keep their stop with aria-disabled, and a locked value names the whole list the popover no longer shows.",
595
+ "The count is itself the live region, in polite, so the effect of a filter is heard; applying, clearing, removing a chip and choosing a view are announced by the shared live-announcer.",
596
+ "The builder is a drawer: modal, Escape closes and discards, focus returns to the trigger. Each group is a fieldset with a legend, each rule three named controls — Field, Operator, Value or From and To.",
597
+ "Below 36rem the operator, more, add and clear leave the focus ring with visibility hidden, not only the drawing: a stop where nothing is seen is a stop that does not exist. The builder’s closed cards take the three controls out of the ring the same way; the card’s phrase has aria-expanded and aria-controls."
598
598
  ]
599
599
  }
600
600
  },
@@ -680,137 +680,137 @@
680
680
  {
681
681
  "id": "playground",
682
682
  "title": "Playground",
683
- "note": "Os eixos da barra sobre uma lista de pedidos, movidos pelos controlos por baixo do palco. Troque apply para manual e a barra passa a editar um rascunho.",
683
+ "note": "The bar’s axes over a list of orders, moved by the controls below the stage. Switch apply to manual and the bar edits a draft instead.",
684
684
  "language": "html",
685
685
  "source": "<div\n slFilterBar\n [count]=\"kept().length\"\n [fields]=\"fields\"\n [total]=\"orders.length\"\n [(value)]=\"filter\"\n></div>\n",
686
686
  "verdict": "excerpt"
687
687
  },
688
688
  {
689
689
  "id": "listing",
690
- "title": "A barra sobre a tabela, e a mesma regra nos dois sítios",
691
- "note": "A árvore é aplicada pelo consumidor com createFilterGroupPredicate e createSearchPredicate; a tabela abaixo encolhe e a contagem diz quanto. O filtro de coluna de Status no cabeçalho edita o mesmo objeto que o chip de Status da barra.",
690
+ "title": "The bar over the table, and the same rule in both places",
691
+ "note": "The consumer applies the tree with createFilterGroupPredicate and createSearchPredicate; the table below shrinks and the count says by how much. The Status column filter in the header edits the same object as the bar’s Status chip.",
692
692
  "language": "ts",
693
693
  "source": "const kept = computed(() => {\n const keep = createFilterGroupPredicate(filter(), (row, field) => row[field]);\n const find = createSearchPredicate(query(), (row, field) => row[field], ['customer', 'id']);\n return orders.filter((row) => keep(row) && find(row));\n});\n",
694
694
  "verdict": "excerpt"
695
695
  },
696
696
  {
697
697
  "id": "pinned",
698
- "title": "Campos fixados: um lugar tracejado que vira chip",
699
- "note": "pinned deixa o campo sempre à vista. Sem condição é um pill tracejado com + e o nome — um lugar à espera de ser preenchido; premido, dá lugar ao chip do campo, no mesmo sítio, incompleto e com o popover do valor aberto. Remover a condição devolve o pill.",
698
+ "title": "Pinned fields: a dashed place that becomes a chip",
699
+ "note": "pinned keeps the field always in view. Without a condition it is a dashed pill with + and the name — a place waiting to be filled; pressed, it gives way to the field’s chip, in the same place, incomplete and with the value popover open. Removing the condition brings the pill back.",
700
700
  "language": "ts",
701
701
  "source": "const FIELDS: FilterBarField[] = [\n {\n key: 'status',\n kind: 'set',\n label: 'Status',\n options: STATUSES,\n pinned: true,\n },\n { key: 'customer', kind: 'text', label: 'Customer', pinned: true },\n { key: 'amount', kind: 'number', label: 'Amount' },\n];\n",
702
702
  "verdict": "excerpt"
703
703
  },
704
704
  {
705
705
  "id": "chips",
706
- "title": "Cada condição escrita em segmentos",
707
- "note": "Um chip é a frase da condição em segmentos: o campo com o seu glifo, o operador mais leve, o valor, e o X. O operador abre um menu, o valor um popover só com o operando — mudar a comparação não reabre os valores. Uma lista longa escreve dois valores e o resto em número (Paid, Refunded +2), inteira no nome e no title; uma lista de um lê-se como igualdade. Add filter cria o chip de imediato, tracejado até ter valor, e fora do valor emitido até lá. Além de chipLimit os chips dobram atrás de +n more.",
706
+ "title": "Each condition written in segments",
707
+ "note": "A chip is the condition’s phrase in segments: the field with its glyph, the lighter operator, the value, and the X. The operator opens a menu, the value a popover with the operand only — changing the comparison does not reopen the values. A long list writes two values and the rest as a number (Paid, Refunded +2), whole in the name and the title; a list of one reads as equality. Add filter creates the chip at once, dashed until it has a value, and left out of the emitted value until then. Beyond chipLimit the chips fold behind +n more.",
708
708
  "language": "html",
709
709
  "source": "<div slFilterBar chipLimit=\"6\" [fields]=\"fields\" [value]=\"filter\"></div>\n",
710
710
  "verdict": "excerpt"
711
711
  },
712
712
  {
713
713
  "id": "builder",
714
- "title": "O construtor num drawer",
715
- "note": "Add filter, um chip de grupo ou Filters (n) abrem a árvore inteira num drawer; num telefone o drawer sobe de baixo como uma folha. Com mais de 30rem cada regra é uma linha de campo, operador, operando e X; com menos, um cartão com a frase que se expande no lugar, um de cada vez. Apply pede a árvore com a razão submit, Cancel e Escape descartam.",
714
+ "title": "The builder in a drawer",
715
+ "note": "Add filter, a group chip or Filters (n) open the whole tree in a drawer; on a phone the drawer rises from the bottom as a sheet. Wider than 30rem each rule is a row of field, operator, operand and X; narrower, a card with the phrase that expands in place, one at a time. Apply requests the tree with the reason submit, Cancel and Escape discard.",
716
716
  "language": "html",
717
- "source": "<div\n slFilterBar\n #bar=\"slFilterBar\"\n [fields]=\"fields\"\n (openChangeRequest)=\"log($event.reason)\"\n></div>\n<button slButton type=\"button\" (click)=\"bar.openBuilder()\">Abrir o construtor</button>\n",
717
+ "source": "<div\n slFilterBar\n #bar=\"slFilterBar\"\n [fields]=\"fields\"\n (openChangeRequest)=\"log($event.reason)\"\n></div>\n<button slButton type=\"button\" (click)=\"bar.openBuilder()\">Open the builder</button>\n",
718
718
  "verdict": "excerpt"
719
719
  },
720
720
  {
721
721
  "id": "groups",
722
- "title": "Grupos E/OU aninhados",
723
- "note": "Um grupo dentro de um grupo é uma caixa sobre a superfície afundada, com a junção oposta e o caixote que o remove; num construtor estreito passa a um trilho na aresta inicial, que custa dez pixels por nível em vez de oitenta. Na barra aparece como um chip só, com a frase entre parênteses, que abre o construtor.",
722
+ "title": "Nested AND/OR groups",
723
+ "note": "A group inside a group is a box over the sunken surface, with the opposite join and the trash that removes it; in a narrow builder it becomes a rail on the start edge, which costs ten pixels per level instead of eighty. On the bar it appears as a single chip, with the phrase in parentheses, that opens the builder.",
724
724
  "language": "ts",
725
725
  "source": "const filter: FilterGroup = {\n join: 'and',\n rules: [\n { field: 'status', filter: setFilter(['paid']) },\n {\n join: 'or',\n rules: [\n {\n field: 'amount',\n filter: {\n kind: 'number',\n join: 'and',\n conditions: [{ operator: 'greaterThan', value: 1000 }],\n },\n },\n {\n field: 'priority',\n filter: { kind: 'boolean', join: 'and', conditions: [{ operator: 'is', value: true }] },\n },\n ],\n },\n ],\n};\n",
726
726
  "verdict": "excerpt"
727
727
  },
728
728
  {
729
729
  "id": "manual",
730
- "title": "Aplicar em lote",
731
- "note": "Com apply=\"manual\" cada edição vai a um rascunho: a raiz fica data-dirty, Reset descarta, Apply pede a árvore e a query com a razão submit. Enter num operando aplica. É o Go do Fiori e o batch do Carbon.",
730
+ "title": "Applying in a batch",
731
+ "note": "With apply=\"manual\" each edit goes to a draft: the root becomes data-dirty, Reset discards, Apply requests the tree and the query with the reason submit. Enter on an operand applies. It is the Go of Fiori and the batch of Carbon.",
732
732
  "language": "html",
733
733
  "source": "<div\n slFilterBar\n apply=\"manual\"\n [fields]=\"fields\"\n (queryChangeRequest)=\"$event.reason === 'submit' && fetch($event.value)\"\n (valueChangeRequest)=\"$event.reason === 'submit' && fetch($event.value)\"\n></div>\n",
734
734
  "verdict": "excerpt"
735
735
  },
736
736
  {
737
737
  "id": "required",
738
- "title": "Um campo obrigatório com default",
739
- "note": "required fixa o campo e dá-lhe um defaultValue: Clear devolve-o ao default em vez de o apagar, o chip não tem X, e um Apply com o campo sem valor é recusado — o chip fica tracejado e data-invalid, a mensagem é anunciada.",
738
+ "title": "A required field with a default",
739
+ "note": "required pins the field and gives it a defaultValue: Clear returns it to the default instead of erasing it, the chip has no X, and an Apply with the field empty is refused — the chip stays dashed and data-invalid, and the message is announced.",
740
740
  "language": "ts",
741
741
  "source": "const company: FilterBarField = {\n key: 'company',\n kind: 'set',\n label: 'Company',\n options: COMPANIES,\n required: true,\n defaultValue: setFilter(['acme']),\n};\n",
742
742
  "verdict": "excerpt"
743
743
  },
744
744
  {
745
745
  "id": "presets",
746
- "title": "Vistas guardadas",
747
- "note": "presets aparece como um select no fim da barra: escolher uma substitui a árvore com a razão select; editar depois mantém a vista escolhida e marca a raiz data-dirty. Guardar é da aplicação — onPresetSave entrega a árvore, o nome é ela que pergunta.",
746
+ "title": "Saved views",
747
+ "note": "presets appears as a select at the end of the bar: choosing one replaces the tree with the reason select; editing afterwards keeps the chosen view and marks the root data-dirty. Saving belongs to the application — onPresetSave hands over the tree, and the application asks for the name.",
748
748
  "language": "html",
749
749
  "source": "<div\n slFilterBar\n [fields]=\"fields\"\n [(preset)]=\"view\"\n [presets]=\"[{ key: 'overdue', label: 'Overdue this month', value: overdue }]\"\n savePresetEnabled\n (savePreset)=\"askForName($event)\"\n></div>\n",
750
750
  "verdict": "excerpt"
751
751
  },
752
752
  {
753
753
  "id": "query",
754
- "title": "A busca global",
755
- "note": "A query é o único campo que não pertence a nenhuma coluna. Debounced por queryDelay sob live; Escape limpa com a razão clear; shortcut é a tecla do documento que chega ao campo, desenhada dentro dele com kbd — e escondida onde a entrada primária é um ecrã táctil, onde não há tecla para carregar.",
754
+ "title": "The global search",
755
+ "note": "The query is the only field that belongs to no column. Debounced by queryDelay under live; Escape clears with the reason clear; shortcut is the document key that reaches the field, drawn inside it with kbd — and hidden where the primary input is a touch screen, where there is no key to press.",
756
756
  "language": "html",
757
757
  "source": "<div slFilterBar [fields]=\"fields\" [(query)]=\"query\" queryDelay=\"120\" shortcut=\"/\"></div>\n",
758
758
  "verdict": "excerpt"
759
759
  },
760
760
  {
761
761
  "id": "url",
762
- "title": "O estado numa URL",
763
- "note": "toFilterBarParams escreve f=and(…) e q=; fromFilterBarParams lê-os de volta, e um f.<coluna> escrito por uma tabela sem barra vira um grupo de primeiro nível. parseFilterGroup é total: um marcador de uma versão antiga degrada para nenhum filtro.",
762
+ "title": "The state in a URL",
763
+ "note": "toFilterBarParams writes f=and(…) and q=; fromFilterBarParams reads them back, and an f.<column> written by a table without a bar becomes a top-level group. parseFilterGroup is total: a marker from an older version degrades to no filter.",
764
764
  "language": "ts",
765
765
  "source": "const params = toFilterBarParams({ filter, query });\nhistory.replaceState(null, '', `?${params}`);\nconst restored = fromFilterBarParams(location.search);\n",
766
766
  "verdict": "excerpt"
767
767
  },
768
768
  {
769
769
  "id": "count",
770
- "title": "A contagem como região viva",
771
- "note": "count e total são os números do consumidor, escritos nas figuras da língua em vigor. A parte é aria-live=\"polite\", por isso uma mudança no filtro é ouvida como o seu efeito; com loading a contagem dá lugar a um spinner e aria-busy.",
770
+ "title": "The count as a live region",
771
+ "note": "count and total are the consumer’s numbers, written in the figures of the current locale. The part is aria-live=\"polite\", so a change in the filter is heard as its effect; with loading the count gives way to a spinner and aria-busy.",
772
772
  "language": "html",
773
773
  "source": "<div slFilterBar count=\"128\" [fields]=\"fields\" [loading]=\"fetching()\" total=\"3412\"></div>\n",
774
774
  "verdict": "excerpt"
775
775
  },
776
776
  {
777
777
  "id": "narrow",
778
- "title": "Num telefone: uma linha que desliza e uma folha",
779
- "note": "Abaixo de 36rem a busca fica em cima e a barra passa a uma linha que desliza: Filters (n) primeiro, todos os chips — também os dobrados —, depois os pills vazios; o chip cortado na borda diz que a linha continua. Cada chip tem três alvos: o campo, o valor com as palavras do operador, o X. Tocar num valor, num pill ou em Filters abre o construtor como folha, com o cartão da regra aberto. Redimensione o palco.",
778
+ "title": "On a phone: a row that scrolls sideways and a sheet",
779
+ "note": "Below 36rem the search sits on top and the bar becomes a row that scrolls sideways: Filters (n) first, every chip — the folded ones too —, then the empty pills; the chip cut at the edge says the row continues. Each chip has three targets: the field, the value with the operator’s words, the X. Tapping a value, a pill or Filters opens the builder as a sheet, with the rule’s card open. Resize the stage.",
780
780
  "language": "html",
781
781
  "source": "<div class=\"listing listing--narrow\">\n <div slFilterBar [fields]=\"fields\" [value]=\"filter\"></div>\n</div>\n",
782
782
  "verdict": "excerpt"
783
783
  },
784
784
  {
785
785
  "id": "sticky",
786
- "title": "Colada sob o cabeçalho da página",
787
- "note": "sticky lê --slotted-page-sticky-top, cola a barra aí, e soma a própria altura à propriedade no elemento pai para o que vem a seguir — uma tabela com cabeçalho colado para debaixo da barra, não debaixo do título.",
786
+ "title": "Stuck under the page header",
787
+ "note": "sticky reads --slotted-page-sticky-top, sticks the bar there, and adds its own height to the property on the parent element for what comes next — a table with a sticky header sticks below the bar, not below the title.",
788
788
  "language": "html",
789
789
  "source": "<div slFilterBar [fields]=\"fields\" sticky [value]=\"filter\"></div>\n<table slTable stickyHeader>\n …\n</table>\n",
790
790
  "verdict": "excerpt"
791
791
  },
792
792
  {
793
793
  "id": "states",
794
- "title": "Desabilitada, a carregar, só leitura",
795
- "note": "disabled desliga todos os controles e mantém a largura; loading mantém os controles, desliga Apply e põe o spinner no lugar da contagem; readOnly deixa cada condição alcançável e legível — os segmentos guardam a paragem com aria-disabled — e não desenha X, add, clear nem pills vazios.",
794
+ "title": "Disabled, loading, read only",
795
+ "note": "disabled turns off every control and keeps the width; loading keeps the controls, turns off Apply and puts the spinner in place of the count; readOnly leaves every condition reachable and readable — the segments keep their stop with aria-disabled — and draws no X, add, clear or empty pills.",
796
796
  "language": "html",
797
797
  "source": "<div slFilterBar disabled [fields]=\"fields\"></div>\n<div slFilterBar [fields]=\"fields\" loading></div>\n",
798
798
  "verdict": "excerpt"
799
799
  },
800
800
  {
801
801
  "id": "content",
802
- "title": "Conteúdo que a família não escolheu",
803
- "note": "Um valor de onze itens escreve dois e o resto em número, inteiro no title e no nome acessível; um valor longo trunca a 12rem; um rótulo árabe ao lado de uma data ISO não reordena a data, porque campo, operador e valor são corridas isoladas; um campo desconhecido é um chip inválido, removível.",
802
+ "title": "Content the family did not choose",
803
+ "note": "A value of eleven items writes two and the rest as a number, whole in the title and in the accessible name; a long value truncates at 12rem; an Arabic label next to an ISO date does not reorder the date, because field, operator and value are isolated runs; an unknown field is an invalid, removable chip.",
804
804
  "language": "html",
805
805
  "source": "<div\n slFilterBar\n dir=\"rtl\"\n [fields]=\"[{ key: 'city', kind: 'set', label: 'المدينة', options: cities }]\"\n [value]=\"filter\"\n></div>\n",
806
806
  "verdict": "excerpt"
807
807
  },
808
808
  {
809
809
  "id": "keyboard",
810
- "title": "Teclado",
811
- "note": "Tab: a busca, depois a barra — duas paragens. As setas percorrem cada controle da barra, segmento a segmento, de linha em linha e espelhadas em RTL; Home e End nas pontas. Enter no operador abre o menu, no valor o popover; Delete em qualquer segmento remove a condição com a razão remove e o foco vai ao mesmo segmento do chip seguinte; Escape limpa a busca ou fecha a superfície.",
810
+ "title": "Keyboard",
811
+ "note": "Tab: the search, then the bar — two stops. The arrows move through every control of the bar, segment by segment, from row to row and mirrored in RTL; Home and End at the ends. Enter on the operator opens the menu, on the value the popover; Delete on any segment removes the condition with the reason remove and focus goes to the same segment of the next chip; Escape clears the search or closes the surface.",
812
812
  "language": "html",
813
- "source": "<!-- \"Amount filter removed\" — e o foco segue para o chip seguinte, ou para Add filter quando não sobra nenhum. -->\n<div slFilterBar [fields]=\"fields\" (valueChangeRequest)=\"log($event.reason === 'remove')\"></div>\n",
813
+ "source": "<!-- \"Amount filter removed\" — and focus moves to the next chip, or to Add filter when none is left. -->\n<div slFilterBar [fields]=\"fields\" (valueChangeRequest)=\"log($event.reason === 'remove')\"></div>\n",
814
814
  "verdict": "excerpt"
815
815
  }
816
816
  ]